avformat/mov: Fix duration of fragmented mov

Fixes Ticket2757

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dc2a13aa80)

Conflicts:
	libavformat/mov.c
This commit is contained in:
Michael Niedermayer 2013-07-07 02:42:40 +02:00 committed by Carl Eugen Hoyos
parent c25c89a530
commit e445dc9237
1 changed files with 2 additions and 1 deletions

View File

@ -801,7 +801,8 @@ 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
c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale);
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 */
avio_rb16(pb); /* preferred volume */