mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
queue: Properly unlock the sinkpad streaming thread when deactivating the pad
https://bugzilla.gnome.org/show_bug.cgi?id=705835
This commit is contained in:
parent
52f2345516
commit
14f817d723
1 changed files with 5 additions and 0 deletions
|
@ -1413,6 +1413,11 @@ gst_queue_sink_activate_mode (GstPad * pad, GstObject * parent, GstPadMode mode,
|
||||||
/* step 1, unblock chain function */
|
/* step 1, unblock chain function */
|
||||||
GST_QUEUE_MUTEX_LOCK (queue);
|
GST_QUEUE_MUTEX_LOCK (queue);
|
||||||
queue->srcresult = GST_FLOW_FLUSHING;
|
queue->srcresult = GST_FLOW_FLUSHING;
|
||||||
|
/* the item del signal will unblock */
|
||||||
|
g_cond_signal (&queue->item_del);
|
||||||
|
/* unblock query handler */
|
||||||
|
queue->last_query = FALSE;
|
||||||
|
g_cond_signal (&queue->query_handled);
|
||||||
GST_QUEUE_MUTEX_UNLOCK (queue);
|
GST_QUEUE_MUTEX_UNLOCK (queue);
|
||||||
|
|
||||||
/* step 2, wait until streaming thread stopped and flush queue */
|
/* step 2, wait until streaming thread stopped and flush queue */
|
||||||
|
|
Loading…
Reference in a new issue