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 <michaelni@gmx.at>
This commit is contained in:
Monty Montgomery 2013-09-11 02:00:31 -04:00 committed by Michael Niedermayer
parent 3e2a5b33f0
commit f6622f9610
1 changed files with 3 additions and 3 deletions

View File

@ -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,