[Bug 731015] v4l2src: deadlock on shutdown

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 30 19:55:49 PDT 2014


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

--- Comment #7 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2014-05-31 02:55:46 UTC ---
Ok, went back into the spec, my interpretation was not correct.

"When the application did not call VIDIOC_QBUF or VIDIOC_STREAMON yet the
poll() function succeeds, but sets the POLLERR flag in the revents field."

I didn't expect that this was also in the case the application have dequeued
all the buffers. So basically this error mean that there is no buffers
currently queued. The default acquire function in GstBufferPool can wait for
buffers to come back, though it's looping around the alloc method. If a drivers
had support for CREATE_BUFS, this would be a case where we'd want a new buffer
to be allocated and queued, but I don't see right now how to do that with the
way we implement the buffer pool. In capture, buffers are never put back in the
pool internal queue, instead they are put in V4L2 queue, hence the
implementation of default_acquire_buffer() is not straight forward for us to
use.

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