mov: Avoid divide by zero in edit list dts handling
authorBenjamin Larsson <benjamin@southpole.se>
Sat, 29 Oct 2011 10:57:10 +0000 (12:57 +0200)
committerRonald S. Bultje <rsbultje@gmail.com>
Sat, 29 Oct 2011 14:59:05 +0000 (07:59 -0700)
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
libavformat/mov.c

index 1747bd4..2036f51 100644 (file)
@@ -1605,7 +1605,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
         if (sc->time_offset < 0)
             sc->time_offset = av_rescale(sc->time_offset, sc->time_scale, mov->time_scale);
         current_dts = -sc->time_offset;
-        if (sc->ctts_data && sc->stts_data &&
+        if (sc->ctts_data && sc->stts_data && sc->stts_data[0].duration &&
             sc->ctts_data[0].duration / sc->stts_data[0].duration > 16) {
             /* more than 16 frames delay, dts are likely wrong
                this happens with files created by iMovie */