diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-10-28 19:04:46 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-10-29 12:16:13 +0300 |
commit | 4e46d3c489b150bfd1a565654b2388dbd8666c6a (patch) | |
tree | 0f427ec3663ddac2588564d4058f2c206cff4e81 | |
parent | 5a7fc340b5beae2bd87e2e5430696fc6ccd6336d (diff) |
pad: Unblock blocking pad probes when receiving FLUSH_START in send_event() too
Without this, flushing might not unblock the streaming thread and cause deadlocks.
https://bugzilla.gnome.org/show_bug.cgi?id=757257
-rw-r--r-- | gst/gstpad.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gst/gstpad.c b/gst/gstpad.c index adac3d0aea..9fea17e1e7 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -5364,6 +5364,8 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event, GST_PAD_SET_FLUSHING (pad); GST_CAT_DEBUG_OBJECT (GST_CAT_EVENT, pad, "set flush flag"); + GST_PAD_BLOCK_BROADCAST (pad); + type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH; break; case GST_EVENT_FLUSH_STOP: /* we can't accept flush-stop on inactive pads else the flushing flag |