From f6622f9610af513bc3277da09dcd2d9777f00343 Mon Sep 17 00:00:00 2001 From: Monty Montgomery Date: Wed, 11 Sep 2013 02:00:31 -0400 Subject: [PATCH] avformat/matroskadec: correct spurious keyframe warnings in webm Minor change to fix for Trac #1003 to avoid squawking about files with valid keyframes that aren't marked (as opposed to frames that are marked as keyframes and aren't). Change correctly surpresses the spurious warnings, while still complaining about (and handling) the genuinely broken file attached to bug #1003. Signed-off-by: Michael Niedermayer --- libavformat/matroskadec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 8bbbf68ced..2482c6d390 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2558,12 +2558,12 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, if (matroska->skip_to_keyframe && track->type != MATROSKA_TRACK_TYPE_SUBTITLE) { if (timecode < matroska->skip_to_timecode) return res; - if (!st->skip_to_keyframe) { + if (is_keyframe) + matroska->skip_to_keyframe = 0; + else if (!st->skip_to_keyframe) { av_log(matroska->ctx, AV_LOG_ERROR, "File is broken, keyframes not correctly marked!\n"); matroska->skip_to_keyframe = 0; } - if (is_keyframe) - matroska->skip_to_keyframe = 0; } res = matroska_parse_laces(matroska, &data, &size, (flags & 0x06) >> 1,