ignore wrong negative cts values created by quicktime
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 27 Mar 2006 16:19:51 +0000 (16:19 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 27 Mar 2006 16:19:51 +0000 (16:19 +0000)
Originally committed as revision 5229 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 6d6d3d5..6863f39 100644 (file)
@@ -1339,6 +1339,12 @@ static int mov_read_ctts(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
         int count    =get_be32(pb);
         int duration =get_be32(pb);
 
+        if (duration < 0) {
+            av_log(c->fc, AV_LOG_ERROR, "negative ctts, ignoring\n");
+            sc->ctts_count = 0;
+            url_fskip(pb, 8 * (entries - i - 1));
+            break;
+        }
         sc->ctts_data[i].count   = count;
         sc->ctts_data[i].duration= duration;