[Bug 745287] New: basesink: drain query doesn't fully work to release v4l2 buffers

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 27 06:35:00 PST 2015


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

            Bug ID: 745287
           Summary: basesink: drain query doesn't fully work to release
                    v4l2 buffers
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: thiagossantos at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 298090
  --> https://bugzilla.gnome.org/attachment.cgi?id=298090&action=edit
test application

When receiving a drain query basesink does a gst_buffer_copy of its last
sample. By default the gst_buffer_copy copies all metadata and also 'copies'
the memory. 'Copies' because it might only ref the memory.

This makes the drain query not be effective in returning all memory to the v4l2
buffer pool. We have 3 options:

1) Make v4l2 mark its memory as 'no-share'
2) Make gst_buffer_copy always do 'deep' memory copies
3) Replace basesink's gst_buffer_copy with gst_buffer_copy_into and pass the
'deep' flag to really copy the memory

Can be easily tested with the attached application

-- 
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