summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-03-16 12:35:40 +0200
committerSebastian Dröge <sebastian@centricular.com>2017-03-16 12:35:40 +0200
commit7e21168d4d27be5afe8431fc209255494594c639 (patch)
tree1578ac88638304fd16e07eeaf80d7455c2f6c58a
parent4ac2a8d6a6587d4afbecdb6d3d0ed60d427a720b (diff)
downloadgstreamer-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.c6
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;