From 737d328bb5ccd06e45bf6aded15b8e5f3f5ca99e Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Thu, 14 Feb 2013 17:39:35 -0300 Subject: [PATCH] dashdemux: properly reset stream status after a flush The stream eos/end of period status must also be reset after a flushing seek. This makes seeking after EOS work. --- ext/dash/gstdashdemux.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c index 2cea0023f3..a699d3f9f1 100644 --- a/ext/dash/gstdashdemux.c +++ b/ext/dash/gstdashdemux.c @@ -614,7 +614,11 @@ gst_dash_demux_src_event (GstPad * pad, GstEvent * event) GstDashDemuxStream *stream; stream = iter->data; + stream->has_data_queued = FALSE; stream->need_header = TRUE; + stream->download_end_of_period = FALSE; + stream->stream_end_of_period = FALSE; + stream->stream_eos = FALSE; gst_pad_push_event (stream->pad, gst_event_new_flush_stop ()); } } @@ -628,6 +632,7 @@ gst_dash_demux_src_event (GstPad * pad, GstEvent * event) } demux->need_segment = TRUE; gst_uri_downloader_reset (demux->downloader); + GST_DEBUG_OBJECT (demux, "Resuming tasks after seeking"); gst_dash_demux_resume_download_task (demux); gst_dash_demux_resume_stream_task (demux); g_static_rec_mutex_unlock (&demux->stream_task_lock);