From 2f63440c59bf8c4a2e90280e23e8cadb235a42e6 Mon Sep 17 00:00:00 2001 From: Dustin Brody Date: Sat, 6 Aug 2011 04:42:34 +0000 Subject: lavf: add support for error_recognition, use it in avidec, and bump minor API version Signed-off-by: Anton Khirnov --- libavformat/avidec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libavformat/avidec.c') diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 0ea093c6d7..8c0ef13b14 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -667,8 +667,9 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) break; case MKTAG('i', 'n', 'd', 'x'): i= avio_tell(pb); - if(pb->seekable && !(s->flags & AVFMT_FLAG_IGNIDX)){ - read_braindead_odml_indx(s, 0); + if(pb->seekable && !(s->flags & AVFMT_FLAG_IGNIDX) && + read_braindead_odml_indx(s, 0) < 0 && s->error_recognition >= FF_ER_EXPLODE){ + goto fail; } avio_seek(pb, i+size, SEEK_SET); break; @@ -706,6 +707,7 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) if(size > 1000000){ av_log(s, AV_LOG_ERROR, "Something went wrong during header parsing, " "I will ignore it and try to continue anyway.\n"); + if (s->error_recognition >= FF_ER_EXPLODE) goto fail; avi->movi_list = avio_tell(pb) - 4; avi->movi_end = avio_size(pb); goto end_of_header; -- cgit v1.2.1