From 7e21168d4d27be5afe8431fc209255494594c639 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 16 Mar 2017 12:35:40 +0200 Subject: [PATCH] dashdemux: Just reset SIDX parser if the index is invalid for the current segment https://bugzilla.gnome.org/show_bug.cgi?id=780108 --- ext/dash/gstdashdemux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c index 1cc51f2..d28a3e2 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; -- 2.7.4