[SCM] libav/experimental: fix demuxing of broken MVI_3011.avi

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:57:33 UTC 2013


The following commit has been merged in the experimental branch:
commit 755c18ae5d19f940dfd05d8278637635fd8eece5
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sat Mar 10 19:30:59 2007 +0000

    fix demuxing of broken MVI_3011.avi
    
    Originally committed as revision 8317 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 83674f4..23c130a 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -503,6 +503,13 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
             sscanf(str_track, "%d", &s->track);
             break;
         default:
+            if(size > 1000000){
+                av_log(s, AV_LOG_ERROR, "well something went wrong during header parsing, "
+                                        "ill ignore it and try to continue anyway\n");
+                avi->movi_list = url_ftell(pb) - 4;
+                avi->movi_end  = url_fsize(pb);
+                goto end_of_header;
+            }
             /* skip tag */
             size += (size & 1);
             url_fskip(pb, size);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list