diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2017-03-16 12:35:40 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-03-16 12:35:40 +0200 |
commit | 7e21168d4d27be5afe8431fc209255494594c639 (patch) | |
tree | 1578ac88638304fd16e07eeaf80d7455c2f6c58a | |
parent | 4ac2a8d6a6587d4afbecdb6d3d0ed60d427a720b (diff) | |
download | gstreamer-plugins-bad-7e21168d4d27be5afe8431fc209255494594c639.tar.gz |
dashdemux: Just reset SIDX parser if the index is invalid for the current segment
https://bugzilla.gnome.org/show_bug.cgi?id=780108
-rw-r--r-- | ext/dash/gstdashdemux.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c index 1cc51f28f..d28a3e259 100644 --- a/ext/dash/gstdashdemux.c +++ b/ext/dash/gstdashdemux.c @@ -1347,8 +1347,8 @@ gst_dash_demux_stream_seek (GstAdaptiveDemuxStream * stream, gboolean forward, final_ts); if (SIDX (dashstream)->entry_index >= SIDX (dashstream)->entries_count) { GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx"); - dashstream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED; dashstream->sidx_position = GST_CLOCK_TIME_NONE; + gst_isoff_sidx_parser_clear (&dashstream->sidx_parser); } } else { /* no index yet, seek when we have it */ @@ -2287,8 +2287,8 @@ gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux, if (SIDX (dash_stream)->entry_index >= SIDX (dash_stream)->entries_count) { GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx"); - dash_stream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED; dash_stream->sidx_position = GST_CLOCK_TIME_NONE; + gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser); } /* push buffer up to sidx box, and do pending stream seek */ break; @@ -2771,8 +2771,8 @@ gst_dash_demux_data_received (GstAdaptiveDemux * demux, if (SIDX (dash_stream)->entry_index >= SIDX (dash_stream)->entries_count) { GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx"); - dash_stream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED; dash_stream->sidx_position = GST_CLOCK_TIME_NONE; + gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser); } } else { gint idx = 0; |