GNOME Bugzilla – Bug 722901
Add signal to avoid deadlocks in multiqueue
Last modified: 2014-01-24 11:51: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.
*** This bug has been marked as a duplicate of bug 722900 ***