Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-10-28 19:04:46 +0300
committerSebastian Dröge <sebastian@centricular.com>2015-10-29 12:16:13 +0300
commit4e46d3c489b150bfd1a565654b2388dbd8666c6a (patch)
tree0f427ec3663ddac2588564d4058f2c206cff4e81
parent5a7fc340b5beae2bd87e2e5430696fc6ccd6336d (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.c2
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