mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 04:26:14 +00:00
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.
This commit is contained in:
parent
fbbf713e45
commit
737d328bb5
1 changed files with 5 additions and 0 deletions
|
@ -614,7 +614,11 @@ gst_dash_demux_src_event (GstPad * pad, GstEvent * event)
|
||||||
GstDashDemuxStream *stream;
|
GstDashDemuxStream *stream;
|
||||||
|
|
||||||
stream = iter->data;
|
stream = iter->data;
|
||||||
|
stream->has_data_queued = FALSE;
|
||||||
stream->need_header = TRUE;
|
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 ());
|
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;
|
demux->need_segment = TRUE;
|
||||||
gst_uri_downloader_reset (demux->downloader);
|
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_download_task (demux);
|
||||||
gst_dash_demux_resume_stream_task (demux);
|
gst_dash_demux_resume_stream_task (demux);
|
||||||
g_static_rec_mutex_unlock (&demux->stream_task_lock);
|
g_static_rec_mutex_unlock (&demux->stream_task_lock);
|
||||||
|
|
Loading…
Reference in a new issue