ogg: relax demuxer conformance checks

Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
This commit is contained in:
Luca Barbato 2013-06-20 11:36:04 +02:00
parent 42cc6cefd3
commit f963f701d9
1 changed files with 5 additions and 2 deletions

View File

@ -478,8 +478,11 @@ static int ogg_get_headers(AVFormatContext *s)
if (os->codec && os->codec->nb_header && if (os->codec && os->codec->nb_header &&
os->nb_header < os->codec->nb_header) { os->nb_header < os->codec->nb_header) {
av_log(s, AV_LOG_ERROR, av_log(s, AV_LOG_ERROR,
"Headers mismatch for stream %d\n", i); "Headers mismatch for stream %d: "
return AVERROR_INVALIDDATA; "expected %d received %d.\n",
i, os->codec->nb_header, os->nb_header);
if (s->error_recognition & AV_EF_EXPLODE)
return AVERROR_INVALIDDATA;
} }
if (os->start_granule != OGG_NOGRANULE_VALUE) if (os->start_granule != OGG_NOGRANULE_VALUE)
os->lastpts = s->streams[i]->start_time = os->lastpts = s->streams[i]->start_time =