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 20:42:59 +0000 (15:42 -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 8a7a45ea69de729529b9ed947a01073e724b4256..6bd123937ce0557198fb1363eb3a8310f2d9185e 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);