avformat/movenc: avoid negative cts offsets when using an edit list with CMAF output

Fixes issue #23417.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2026-06-10 18:14:42 +00:00
parent d05786cf23
commit cf0244aa38
+3
View File
@@ -8206,6 +8206,9 @@ static int mov_init(AVFormatContext *s)
!(mov->flags & FF_MOV_FLAG_DELAY_MOOV) && mov->use_editlist) !(mov->flags & FF_MOV_FLAG_DELAY_MOOV) && mov->use_editlist)
av_log(s, AV_LOG_WARNING, "No meaningful edit list will be written when using empty_moov without delay_moov\n"); av_log(s, AV_LOG_WARNING, "No meaningful edit list will be written when using empty_moov without delay_moov\n");
if (mov->flags & FF_MOV_FLAG_CMAF && mov->use_editlist)
mov->flags &= ~FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS;
if (!mov->use_editlist && s->avoid_negative_ts == AVFMT_AVOID_NEG_TS_AUTO && if (!mov->use_editlist && s->avoid_negative_ts == AVFMT_AVOID_NEG_TS_AUTO &&
!(mov->flags & FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS)) !(mov->flags & FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS))
s->avoid_negative_ts = AVFMT_AVOID_NEG_TS_MAKE_ZERO; s->avoid_negative_ts = AVFMT_AVOID_NEG_TS_MAKE_ZERO;