[Bug 779790] waylandsink: add offset setting for multiplane dmabuf

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Mar 9 15:18:27 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=779790

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #347528|none                        |needs-work
             status|                            |

--- Comment #1 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 347528:
 --> (https://bugzilla.gnome.org/review?bug=779790&attachment=347528)

You definitely spotted a bug here, good catch. The solution isn't quite right.
In fact, the memory offset in GStreamer is currently always 0, but we should
eventually account for it. That needs to be implement in v4l2 (were such offset
is signalled) and accounted in glupload, kmssink, vl42sink and possibly
vaapisink. Considering the spread, a helper would be nice.

Better approach is to use gst_buffer_find_memory (buffer, offset, ...). The
offset is what you get from the video meta. This is generic, and will work
regardless if you have 1 or more DMABuf. The length parameter is tricky, and is
unimplemented (using 1) in GstVideoMeta::default_map(). The returned skip is
the actual offset on the memory. The final offset would then be mem->offset +
skip (regardless the plane). I think in most correct implementation, we simply
use skip, which is always correct for now, but won't always be.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list