[Bug 733614] New: Zero copy path between omxvideodec and v4l2sink

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jul 23 10:02:38 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=733614
  GStreamer | gst-omx | git

           Summary: Zero copy path between omxvideodec and v4l2sink
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-omx
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: aurelien.zanelli at parrot.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=281490)
 View: https://bugzilla.gnome.org/attachment.cgi?id=281490
 Review: https://bugzilla.gnome.org/review?bug=733614&attachment=281490

omxvideodec: Try adjusting downstream buffer pool if requirements are not met

I try to have a zero-copy path between omxvideodec and v4l2sink using latest
v4l2 user pointer implementation.
e.g: filesrc ! demux ! parse ! omxvideodec ! v4l2sink io-mode=3

By default, it doesn't work because omxvideodec doesn't export his buffers and
try to copy frame from his internal buffers to v4l2sink buffers. Since there is
no memory allocated by v4l2 element in user pointer mode, it just fails.

omxvideodec doesn't export its buffers because during
negotiation/alloc_output_buffer, in my case, v4l2 buffer pool min-buffers and
max-buffers are equal to 3 and my OMX component output port requires at least 6
buffers.
See
http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c#n581

For information, my v4l2sink buffer pool min and max are set to 3 because my
component can't allocate buffers since my device doesn't support CREATE_BUFS
yet.

I currently found a solution to my problem, but I'm not sure it is the best way
to handle this. I attached it, it consists in adjusting proposed pool
parameters in decide_allocation().

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