summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-06-27 20:53:37 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-07-04 12:41:13 +0200
commit6aa3b25643a3208dc86f27af33ebd100d38b6442 (patch)
tree30b2388c6d903bb0fa4bc69a57ee651eb30b2257
parent4348df8e4a1644ed4c1f8405bba46b8f5946eda6 (diff)
downloadgstreamer-plugins-base-6aa3b25643a3208dc86f27af33ebd100d38b6442.tar.gz
playsink: Don't send another step event to the audio-sink if we got step-done from there
Otherwise we would end up with a deadlock as the audio-sink emits step-done from its streaming thread.
-rw-r--r--gst/playback/gstplaysink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index c640ba4fd..b687f519c 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -4633,7 +4633,9 @@ gst_play_sink_handle_message (GstBin * bin, GstMessage * message)
if (format == GST_FORMAT_BUFFERS) {
/* for the buffer format, we align the other streams */
- if (playsink->audiochain) {
+ if (playsink->audiochain
+ && !gst_object_has_as_ancestor (GST_MESSAGE_SRC (message),
+ GST_OBJECT (playsink->audiochain->chain.bin))) {
GstEvent *event;
event =