[Bug 702840] queue2 does not work with use-buffering=true
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Mar 19 14:26:02 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=702840
GStreamer | gst-plugins-base | git
Vincent Penquerc'h <vincent.penquerch> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vincent.penquerch at collabora
| |.co.uk
--- Comment #6 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> 2014-03-19 21:50:36 UTC ---
I think this might be not quite enough. I've been tracking down a deadlock in a
situation where I have a souphttpsrc, queue2, then other stuff ending in a
multiudpsink. Not always, I get a deadlock with:
- one thread blocked in preroll, where queue2 has pushed a buffer, and
multiudpsink is then blocked in preroll
- one thread gets a sink query, checks if it's using queue (yes), if the queue
is empty (yes), so enqueues the query and waits.
What seems to be happening is that the qlock is released after dequeuing the
buffer, so the queue will be empty while the buffer is making its way
downstream, so the query can be pushed, and this blocks.
A naive idea would be to only dequeue the buffer (or event, etc) after it's
been pushed.
Does this seem plausible/sane ?
--
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