From 4f7d9b77061207142f93bd8c5c417ba189c25bd1 Mon Sep 17 00:00:00 2001 From: Rodger Combs Date: Thu, 8 Oct 2015 15:34:59 -0500 Subject: lavf/matroskadec: drop indexes that appear broken Signed-off-by: Michael Niedermayer --- libavformat/matroskadec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'libavformat') diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 9db2b59d4e..02cc6a5232 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1521,10 +1521,11 @@ static void matroska_add_index_entries(MatroskaDemuxContext *matroska) index_list = &matroska->index; index = index_list->elem; - if (index_list->nb_elem && - index[0].time > 1E14 / matroska->time_scale) { - av_log(matroska->ctx, AV_LOG_WARNING, "Working around broken index.\n"); - index_scale = matroska->time_scale; + if (index_list->nb_elem < 2) + return; + if (index[1].time > 1E14 / matroska->time_scale) { + av_log(matroska->ctx, AV_LOG_WARNING, "Dropping apparently-broken index.\n"); + return; } for (i = 0; i < index_list->nb_elem; i++) { EbmlList *pos_list = &index[i].pos; -- cgit v1.2.3