[gstreamer-bugs] [Bug 577346] [xvimagesink] Playback failure with certain XVImage sizes

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Apr 27 11:07:58 PDT 2009

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:

  GStreamer | gst-plugins-base | Ver: 0.10.16

Julien MOUTTE changed:

           What    |Removed                     |Added
                 CC|                            |julien at moutte.net

------- Comment #6 from Julien MOUTTE  2009-04-27 18:07 UTC -------
In GStreamer there's an assumption that says that I420 video frames have a
specific stride.

Y, U and V planes strides (size of a line in bytes) have to be a multiple of 4
which gives :

Y stride = roundup_4 (width)
U stride = V stride = roundup_8 (width) / 2

The XV drivers are supposed to do that too. In your case it seems like the
Poulsbo driver does not do that and that's why it breaks.

Fixing the check in xvimagesink is not going to fix the problem as GStreamer is
going to generate frames with a different strides and the Poulsbo driver is
going to choke on them.

The correct fix for this is to add the stride in the caps for every video
buffer so that the video sink can check if strides match or convert if they
don't (that's on the TODO list).

A fix to the poulsbo driver is probably the less intrusive thing to do. Fixing
XVimagesink to convert strides is a possible hack as well adding a function
that will memcpy the GStreamer frames to an XV image when width is not a
multiple of 8.

See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=577346.

More information about the Gstreamer-bugs mailing list