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
demux->need_newsegment = TRUE;
demux->segment_seqnum = gst_event_get_seqnum (event);
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_event_unref (event);