mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 09:08:14 +00:00
dashdemux: Just reset SIDX parser if the index is invalid for the current segment
https://bugzilla.gnome.org/show_bug.cgi?id=780108
This commit is contained in:
parent
4ac2a8d6a6
commit
7e21168d4d
1 changed files with 3 additions and 3 deletions
|
@ -1347,8 +1347,8 @@ gst_dash_demux_stream_seek (GstAdaptiveDemuxStream * stream, gboolean forward,
|
||||||
final_ts);
|
final_ts);
|
||||||
if (SIDX (dashstream)->entry_index >= SIDX (dashstream)->entries_count) {
|
if (SIDX (dashstream)->entry_index >= SIDX (dashstream)->entries_count) {
|
||||||
GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
|
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;
|
dashstream->sidx_position = GST_CLOCK_TIME_NONE;
|
||||||
|
gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* no index yet, seek when we have it */
|
/* 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 >=
|
if (SIDX (dash_stream)->entry_index >=
|
||||||
SIDX (dash_stream)->entries_count) {
|
SIDX (dash_stream)->entries_count) {
|
||||||
GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
|
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;
|
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 */
|
/* push buffer up to sidx box, and do pending stream seek */
|
||||||
break;
|
break;
|
||||||
|
@ -2771,8 +2771,8 @@ gst_dash_demux_data_received (GstAdaptiveDemux * demux,
|
||||||
if (SIDX (dash_stream)->entry_index >=
|
if (SIDX (dash_stream)->entry_index >=
|
||||||
SIDX (dash_stream)->entries_count) {
|
SIDX (dash_stream)->entries_count) {
|
||||||
GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
|
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;
|
dash_stream->sidx_position = GST_CLOCK_TIME_NONE;
|
||||||
|
gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
gint idx = 0;
|
gint idx = 0;
|
||||||
|
|
Loading…
Reference in a new issue