avformat/mov: Fix duration of fragmented mov
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Jul 2013 00:42:40 +0000 (02:42 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Jul 2013 02:11:14 +0000 (04:11 +0200)
Fixes Ticket2757

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mov.c

index 37030a5..9833d7b 100644 (file)
@@ -877,7 +877,7 @@ static int mov_read_mvhd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     c->duration = (version == 1) ? avio_rb64(pb) : avio_rb32(pb); /* duration */
     // set the AVCodecContext duration because the duration of individual tracks
     // may be inaccurate
-    if (c->time_scale > 0)
+    if (c->time_scale > 0 && !c->trex_data)
         c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale);
     avio_rb32(pb); /* preferred scale */