After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 722901 - Add signal to avoid deadlocks in multiqueue
Add signal to avoid deadlocks in multiqueue
Status: RESOLVED DUPLICATE of bug 722900
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-24 11:43 UTC by Per Johansson
Modified: 2014-01-24 11:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Per Johansson 2014-01-24 11:43:42 UTC
When multiqueue is used in a pipeline with an element with collect pads after the queue, there is a risk for deadlocks with badly muxed content, or content with missing frames in one stream.

This happens when one queue is filled to the byte or time limit so that it can't be grown and therefor blocking a write, and at the same time an other queue is empty. The collect pads are then waiting for for data from the empty queue before reading anymore from the filled queue, but that will never arrive since the writing thread is blocking on the full queue. The result is a deadlock.

I have added a new signal hard_overrun that is sent in the case where one queue is filled to the hard byte or time limit and another is empty.
Comment 1 Per Johansson 2014-01-24 11:51:42 UTC

*** This bug has been marked as a duplicate of bug 722900 ***