projects
/
platform
/
upstream
/
gstreamer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ec1dd12
)
queue2: Clean up after the streaming thread has stopped
author
Sebastian Dröge
<slomo@circular-chaos.org>
Mon, 19 Aug 2013 14:38:40 +0000
(16:38 +0200)
committer
Sebastian Dröge
<slomo@circular-chaos.org>
Mon, 19 Aug 2013 14:38:40 +0000
(16:38 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=705835
plugins/elements/gstqueue2.c
patch
|
blob
|
history
diff --git
a/plugins/elements/gstqueue2.c
b/plugins/elements/gstqueue2.c
index
2ed5475
..
bcdd497
100644
(file)
--- a/
plugins/elements/gstqueue2.c
+++ b/
plugins/elements/gstqueue2.c
@@
-3078,8
+3078,14
@@
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_MUTEX_UNLOCK (queue);
+
+ /* wait until it is unblocked and clean up */
+ GST_PAD_STREAM_LOCK (pad);
+ GST_QUEUE2_MUTEX_LOCK (queue);
gst_queue2_locked_flush (queue, TRUE);
GST_QUEUE2_MUTEX_UNLOCK (queue);
+ GST_PAD_STREAM_UNLOCK (pad);
}
result = TRUE;
break;