From 06ea25ade3e4e978555c267ace6f209b72867e1e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 27 Jun 2016 20:53:37 +0300 Subject: [PATCH] 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. --- gst/playback/gstplaysink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index 86f9470..0bca05c 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -4630,7 +4630,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 = -- 2.7.4