[Bug 739754] New: v4l2bufferpool: Should validate that all memories are writeable before queueing back

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Nov 6 18:05:02 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=739754
  GStreamer | gst-plugins-good | 1.4.3

           Summary: v4l2bufferpool: Should validate that all memories are
                    writeable before queueing back
    Classification: Platform
           Product: GStreamer
           Version: 1.4.3
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: nicolas.dufresne at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Currently, if a buffer memories get copied, and original buffer unreffed, the
pool will accept the released buffer memory as valid and queue it back. This
causes tearing in pipeline that uses gst_buffer_make_writable():

gst-launch-1.0 v4l2src ! "video/x-raw,framerate=30/1" ! intervideosink  
intervideosrc ! xvimagesink

More generally, the gst_v4l2_is_buffer_valid() is too light and should check
that all memories are of right type, same group, and writeable. Failing
validation will simply cause the buffer to be discarded, and eventually the
memory will be released and the Allocator will notify the pool. The pool will
finally create a new GstBuffer to wrap the lost group. Considering there is no
large allocation involved, keeping the original GstBuffer and fixing it would
not give much gain. Fix coming soon.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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