From ee93c807e1caa1701fb173f2e26da80913e6fd9d Mon Sep 17 00:00:00 2001 From: Andrei Sarakeev Date: Thu, 16 Oct 2014 10:13:14 +0400 Subject: [PATCH] multiqueue: Wake up any waiting streams if the current one goes EOS Otherwise we might have unlinked streams waiting. https://bugzilla.gnome.org/show_bug.cgi?id=738198 --- plugins/elements/gstmultiqueue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c index ccab3e3..61d6773 100644 --- a/plugins/elements/gstmultiqueue.c +++ b/plugins/elements/gstmultiqueue.c @@ -1541,6 +1541,14 @@ gst_multi_queue_loop (GstPad * pad) GST_LOG_OBJECT (mq, "AFTER PUSHING sq->srcresult: %s", gst_flow_get_name (sq->srcresult)); + GST_MULTI_QUEUE_MUTEX_LOCK (mq); + if (mq->numwaiting > 0 && sq->srcresult == GST_FLOW_EOS) { + compute_high_time (mq); + compute_high_id (mq); + wake_up_next_non_linked (mq); + } + GST_MULTI_QUEUE_MUTEX_UNLOCK (mq); + return; out_flushing: -- 2.7.4