diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-06-27 20:53:37 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-07-04 12:41:13 +0200 |
commit | 6aa3b25643a3208dc86f27af33ebd100d38b6442 (patch) | |
tree | 30b2388c6d903bb0fa4bc69a57ee651eb30b2257 | |
parent | 4348df8e4a1644ed4c1f8405bba46b8f5946eda6 (diff) | |
download | gstreamer-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.c | 4 |
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 = |