queue2: Properly unlock the sinkpad streaming thread when deactivating the pad
authorSebastian Dröge <slomo@circular-chaos.org>
Tue, 20 Aug 2013 08:16:05 +0000 (10:16 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Tue, 20 Aug 2013 08:16:05 +0000 (10:16 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=706360

plugins/elements/gstqueue2.c

index bcdd497..eb842a4 100644 (file)
@@ -3078,6 +3078,10 @@ gst_queue2_sink_activate_mode (GstPad * pad, GstObject * parent,
         GST_DEBUG_OBJECT (queue, "deactivating push mode");
         queue->srcresult = GST_FLOW_FLUSHING;
         queue->sinkresult = GST_FLOW_FLUSHING;
+        GST_QUEUE2_SIGNAL_DEL (queue);
+        /* Unblock query handler */
+        queue->last_query = FALSE;
+        g_cond_signal (&queue->query_handled);
         GST_QUEUE2_MUTEX_UNLOCK (queue);
 
         /* wait until it is unblocked and clean up */