playsink: Don't send another step event to the audio-sink if we got step-done from...
authorSebastian Dröge <sebastian@centricular.com>
Mon, 27 Jun 2016 17:53:37 +0000 (20:53 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 27 Jun 2016 17:55:00 +0000 (20:55 +0300)
Otherwise we would end up with a deadlock as the audio-sink emits step-done
from its streaming thread.

gst/playback/gstplaysink.c

index 86f9470..0bca05c 100644 (file)
@@ -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 =