aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2020-12-13 14:10:06 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2020-12-13 14:10:06 +0100
commit15395de63e3c784e0e4d21de655efa991643e33d (patch)
tree99d2d298db73919ed410416ee2dee4d1ad1151cb
parent079fff1d531162a4a5f90a28ad9a37929bcd97a1 (diff)
downloadnihav-15395de63e3c784e0e4d21de655efa991643e33d.tar.gz
mov: fix track duration rescaling
-rw-r--r--nihav-commonfmt/src/demuxers/mov.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs
index 4d36c05..ac124fa 100644
--- a/nihav-commonfmt/src/demuxers/mov.rs
+++ b/nihav-commonfmt/src/demuxers/mov.rs
@@ -701,11 +701,12 @@ fn read_stts(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
if let Some(ref mut stream) = track.stream {
let tb_den = stream.tb_den;
let (tb_num, tb_den) = reduce_timebase(tb_num * stream.tb_num, tb_den);
- stream.duration /= u64::from(stream.tb_den / tb_den);
+ stream.duration /= u64::from(track.tb_div);
stream.tb_num = tb_num;
stream.tb_den = tb_den;
track.tb_num = tb_num;
track.tb_den = tb_den;
+ track.duration /= track.tb_div;
}
} else {
track.time_to_sample.truncate(0);