From: Andrei Sarakeev Date: Thu, 16 Oct 2014 06:13:14 +0000 (+0400) Subject: multiqueue: Wake up any waiting streams if the current one goes EOS X-Git-Tag: 1.6.1~703 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ee93c807e1caa1701fb173f2e26da80913e6fd9d;p=platform%2Fupstream%2Fgstreamer.git 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 --- 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: