@ -4429,10 +4429,12 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
* of this packet to be what the previous packets duration implies . */
* of this packet to be what the previous packets duration implies . */
trk - > cluster [ trk - > entry ] . dts = trk - > start_dts + trk - > track_duration ;
trk - > cluster [ trk - > entry ] . dts = trk - > start_dts + trk - > track_duration ;
/* We also may have written the pts and the corresponding duration
/* We also may have written the pts and the corresponding duration
* in sidx tags ; make sure the sidx pts and duration match up with
* in sidx / tfrf / tfxd tags ; make sure the sidx pts and duration match up with
* the next fragment . This means the cts of the first sample must
* the next fragment . This means the cts of the first sample must
* be the same in all fragments . */
* be the same in all fragments . */
pkt - > pts = pkt - > dts + trk - > start_cts ;
if ( ( mov - > flags & FF_MOV_FLAG_DASH & & ! ( mov - > flags & FF_MOV_FLAG_FASTSTART ) ) | |
mov - > mode = = MODE_ISM )
pkt - > pts = pkt - > dts + trk - > start_cts ;
} else {
} else {
/* New fragment, but discontinuous from previous fragments.
/* New fragment, but discontinuous from previous fragments.
* Pretend the duration sum of the earlier fragments is
* Pretend the duration sum of the earlier fragments is