diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-03-26 07:22:54 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-03-29 10:33:45 +0100 |
commit | cad284e8432ce65a597ffde580cedfa93f07c5bc (patch) | |
tree | 8a3b20c58a8d57ee04171fffba0ecedb04915103 /ext/hls | |
parent | 91ec00a0c0925cf7d7b45f6a6cac2451f27d449c (diff) | |
download | gstreamer-plugins-bad-cad284e8432ce65a597ffde580cedfa93f07c5bc.tar.gz |
hlsdemux: Send flush start event before waiting for the tasks to finish
Otherwise we'll wait until buffers are completely processed downstream,
which might take quite some time.
Diffstat (limited to 'ext/hls')
-rw-r--r-- | ext/hls/gsthlsdemux.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 2ce7c2742..eab3657bc 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -366,6 +366,11 @@ gst_hls_demux_src_event (GstPad * pad, GstObject * parent, GstEvent * event) " stop: %" GST_TIME_FORMAT, rate, GST_TIME_ARGS (start), GST_TIME_ARGS (stop)); + if (flags & GST_SEEK_FLAG_FLUSH) { + GST_DEBUG_OBJECT (demux, "sending flush start"); + gst_pad_push_event (demux->srcpad, gst_event_new_flush_start ()); + } + gst_hls_demux_pause_tasks (demux); /* wait for streaming to finish */ @@ -433,11 +438,6 @@ gst_hls_demux_src_event (GstPad * pad, GstObject * parent, GstEvent * event) current_sequence++; } - if (flags & GST_SEEK_FLAG_FLUSH) { - GST_DEBUG_OBJECT (demux, "sending flush start"); - gst_pad_push_event (demux->srcpad, gst_event_new_flush_start ()); - } - GST_M3U8_CLIENT_LOCK (demux->client); GST_DEBUG_OBJECT (demux, "seeking to sequence %u", (guint) current_sequence); |