--- libavformat/matroskadec.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 496499b553..b51f67af00 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3528,9 +3528,13 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index, SEEK_SET); matroska->current_id = 0; while ((index = av_index_search_timestamp(st, timestamp, flags)) < 0 || index == st->nb_index_entries - 1) { + int ret; + int64_t pos = avio_tell(matroska->ctx->pb); matroska_clear_queue(matroska); - if (matroska_parse_cluster(matroska) < 0) - break; + if ((ret = matroska_parse_cluster(matroska)) < 0) { + if ((ret == AVERROR_EOF) || matroska_resync(matroska, pos) < 0) + break; + } } } -- 2.15.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel