[FFmpeg-cvslog] r19084 - trunk/libavformat/mov.c

bcoudurier subversion
Thu Jun 4 01:13:53 CEST 2009


Author: bcoudurier
Date: Thu Jun  4 01:13:53 2009
New Revision: 19084

Log:
broken stsd length might be < 16, fix elst-assert.mp4

Modified:
   trunk/libavformat/mov.c

Modified: trunk/libavformat/mov.c
==============================================================================
--- trunk/libavformat/mov.c	Thu Jun  4 00:36:59 2009	(r19083)
+++ trunk/libavformat/mov.c	Thu Jun  4 01:13:53 2009	(r19084)
@@ -763,15 +763,17 @@ static int mov_read_stsd(MOVContext *c, 
     for(pseudo_stream_id=0; pseudo_stream_id<entries; pseudo_stream_id++) {
         //Parsing Sample description table
         enum CodecID id;
-        int dref_id;
+        int dref_id = 1;
         MOVAtom a = { 0, 0, 0 };
         int64_t start_pos = url_ftell(pb);
         int size = get_be32(pb); /* size */
         uint32_t format = get_le32(pb); /* data format */
 
-        get_be32(pb); /* reserved */
-        get_be16(pb); /* reserved */
-        dref_id = get_be16(pb);
+        if (size >= 16) {
+            get_be32(pb); /* reserved */
+            get_be16(pb); /* reserved */
+            dref_id = get_be16(pb);
+        }
 
         if (st->codec->codec_tag &&
             st->codec->codec_tag != format &&



More information about the ffmpeg-cvslog mailing list