multiqueue: Wake up on reconfigure event
authorOlivier Crête <olivier.crete@collabora.com>
Tue, 3 Dec 2013 03:22:36 +0000 (22:22 -0500)
committerOlivier Crête <olivier.crete@collabora.com>
Tue, 3 Dec 2013 17:40:11 +0000 (12:40 -0500)
After patch bda406c4, the state of the singlequeue was set to OK, but nothing
would then wake up the thread, as the other wakeup functions only look at
singlequeues that are marked as having received as not-linked.

https://bugzilla.gnome.org/show_bug.cgi?id=708200

plugins/elements/gstmultiqueue.c

index 8a7a45e..6bd1239 100644 (file)
@@ -1731,8 +1731,10 @@ gst_multi_queue_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_RECONFIGURE:
       GST_MULTI_QUEUE_MUTEX_LOCK (mq);
-      if (sq->srcresult == GST_FLOW_NOT_LINKED)
+      if (sq->srcresult == GST_FLOW_NOT_LINKED) {
         sq->srcresult = GST_FLOW_OK;
+        g_cond_signal (&sq->turn);
+      }
       GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
 
       ret = gst_pad_push_event (sq->sinkpad, event);