This codepath isn't quite as bad as it used to sound, if fragments
are cut automatically at video packets.
---
This is mostly a note to future self.
---
 libavformat/movenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 446c1ad..78ff4ee 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -3495,7 +3495,8 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
             /* We also may have written the pts and the corresponding duration
              * 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
-             * be the same in all fragments. */
+             * be the same in all fragments, unless end_pts was updated by
+             * the packet causing the fragment to be written. */
             if ((mov->flags & FF_MOV_FLAG_DASH && !(mov->flags & 
FF_MOV_FLAG_GLOBAL_SIDX)) ||
                 mov->mode == MODE_ISM)
                 pkt->pts = pkt->dts + trk->end_pts - 
trk->cluster[trk->entry].dts;
-- 
2.6.4 (Apple Git-63)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to