mov: Do not blindly disable advanced edit lists if use_mfra_for is set

This was a bug/mistake in dae3679a9b.

use_mfra_for by defintion only has an effect on fragmented MP4 files,
making the check not only redundant, but also broken if a user used
the option globally (i.e. set on non-fragmented MP4s).

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
Derek Buitenhuis 2023-04-20 15:17:28 +01:00
parent 8b0ec740cb
commit f7d64881f8

View File

@ -4650,12 +4650,8 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
* Advanced edit list support does not work with fragemented MP4s, which
* have stsc, stsz, stco, and stts with zero entries in the moov atom.
* In these files, trun atoms may be streamed in.
*
* It cannot be used with use_mfra_for = {pts,dts} either, as the index
* is not complete, but filled in as more trun atoms are read, as well.
*/
if (!sc->stts_count || c->use_mfra_for != FF_MOV_FLAG_MFRA_AUTO &&
c->advanced_editlist) {
if (!sc->stts_count && c->advanced_editlist) {
av_log(c->fc, AV_LOG_VERBOSE, "advanced_editlist does not work with fragmented "
"MP4. disabling.\n");