[Bug 746834] v4l2sink: driver is not queried for minimum number of buffers when propose_allocation is not called

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 30 02:33:52 PDT 2015


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

--- Comment #14 from Tobias Modschiedler <tobias.modschiedler at cetitec.com> ---
(In reply to Nicolas Dufresne (stormer) from comment #12)
> (In reply to Tobias Modschiedler from comment #10)
> > The execution time (as reported by gst-launch) is about double to
> > triple the expected playback time. It seems that DQBUF is called much too
> > early, blocking the execution.
> 
> Are you sure it isn't the copy the slow down everything ? When
> propose_allocation() isn't called, it means that buffer will arrive to the
> sink and will need to be copied to V4L2 memory. You can use perf to profile
> it.

I didn't profile it, but the driver's debug output shows that DQBUF is already
called after two QBUFs. At no time, there are more than two buffers queued.
Also, the posted patch (even if it's incorrect for the general case) solves the
problem.

(In reply to Nicolas Dufresne (stormer) from comment #13)
> Review of attachment 300481 [details] [review]:
> 
> That change does not make much sense. Some driver need more buffers to
> operate without adding latency. I think you really have to get the
> MIN_FOR_OUTPUT value (even if not proposing an allocation).

OK, I see, thanks for clarifying this. I'll try to come up with a more sensible
solution.

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