mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
asfdemux: fix seeking back after EOS has been reached in push mode
Fix seeking when demuxer is in INDEX state. This happens when we reached the end of the stream. It should still be possible to do a flushing seek and seek back to any other position though. Instead the demuxer would just go straight to EOS again instead of going back to processing packets again from the new position. https://bugzilla.gnome.org/show_bug.cgi?id=749066
This commit is contained in:
parent
f52343fcf8
commit
6ff1c761e4
1 changed files with 5 additions and 0 deletions
|
@ -428,6 +428,11 @@ gst_asf_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
demux->need_newsegment = TRUE;
|
demux->need_newsegment = TRUE;
|
||||||
demux->segment_seqnum = gst_event_get_seqnum (event);
|
demux->segment_seqnum = gst_event_get_seqnum (event);
|
||||||
gst_asf_demux_reset_stream_state_after_discont (demux);
|
gst_asf_demux_reset_stream_state_after_discont (demux);
|
||||||
|
/* if we seek back after reaching EOS, go back to packet reading state */
|
||||||
|
if (demux->data_offset > 0 && segment->start >= demux->data_offset
|
||||||
|
&& demux->state == GST_ASF_DEMUX_STATE_INDEX) {
|
||||||
|
demux->state = GST_ASF_DEMUX_STATE_DATA;
|
||||||
|
}
|
||||||
GST_OBJECT_UNLOCK (demux);
|
GST_OBJECT_UNLOCK (demux);
|
||||||
|
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
|
|
Loading…
Reference in a new issue