avformat/movenc: don't disable edit lists when writing CMAF output

They are needed for audio tracks with priming samples, where negative CTS
offsets can't be used.

Fixes ticket #11031.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2024-11-15 20:14:37 -03:00
parent 865c73c86f
commit ecc7d5db9c
1 changed files with 0 additions and 8 deletions

View File

@ -7675,19 +7675,11 @@ static int mov_init(AVFormatContext *s)
s->avoid_negative_ts == AVFMT_AVOID_NEG_TS_MAKE_ZERO)
mov->use_editlist = 0;
}
if (mov->flags & FF_MOV_FLAG_CMAF) {
// CMAF Track requires negative cts offsets without edit lists
mov->use_editlist = 0;
}
}
if (mov->flags & FF_MOV_FLAG_EMPTY_MOOV &&
!(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");
if (mov->flags & FF_MOV_FLAG_CMAF && mov->use_editlist) {
av_log(s, AV_LOG_WARNING, "Edit list enabled; Assuming writing CMAF Track File\n");
mov->flags &= ~FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS;
}
if (!mov->use_editlist && s->avoid_negative_ts == AVFMT_AVOID_NEG_TS_AUTO &&
!(mov->flags & FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS))
s->avoid_negative_ts = AVFMT_AVOID_NEG_TS_MAKE_ZERO;