@@ -5012,7 +5012,7 @@ static int mov_flush_fragment(AVFormatContext *s, int force)
if (!ff_interleaved_peek(s, i, &pkt, 1)) {
if (track->dts_shift != AV_NOPTS_VALUE)
pkt.dts += track->dts_shift;
- track->track_duration = pkt.dts - track->start_dts;
+ track->track_duration = pkt.dts - track->start_dts + pkt.duration;
if (pkt.pts != AV_NOPTS_VALUE)
track->end_pts = pkt.pts;
else
but this broke the FATE test for movenc:
make fate-movenc SAMPLES=fate-suite/
LD libavformat/tests/movenc
TEST movenc
@@ -134,12 +134,12 @@
3c2c3f98c8a047f0ecefff07570fd457 9299 large_frag
write_data len 1231, time nopts, type header atom ftyp
write_data len 684, time -33333, type sync atom moof
-write_data len 504, time 800000, type boundary atom moof
-write_data len 420, time 1266667, type boundary atom moof
-write_data len 668, time 1566667, type sync atom moof
-write_data len 440, time 2233333, type boundary atom moof
+write_data len 504, time 833333, type boundary atom moof
+write_data len 512, time 1300000, type boundary atom moof
+write_data len 792, time 1566667, type sync atom moof
+write_data len 488, time 2233333, type boundary atom moof
write_data len 262, time nopts, type trailer atom -
-edd19deae2b70afcf2cd744b89b7013d 4209 vfr-noduration-interleave
+f579e7fec9c37179ed2def2f8930a093 4473 vfr-noduration-interleave
write_data len 1231, time nopts, type header atom ftyp
write_data len 916, time 0, type sync atom moof
write_data len 908, time 1000000, type sync atom moof