[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