diff --git a/libavformat/isom.h b/libavformat/isom.h index 06bfbd0776..370ba43a25 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -161,6 +161,7 @@ typedef struct MOVContext { int itunes_metadata; ///< metadata are itunes style int chapter_track; int use_absolute_path; + int ignore_editlist; int64_t next_root_atom; ///< offset of the next root atom } MOVContext; diff --git a/libavformat/mov.c b/libavformat/mov.c index 3bf6dcc971..0639ddb5f3 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2626,7 +2626,7 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) int i, edit_count, version, edit_start_index = 0; int unsupported = 0; - if (c->fc->nb_streams < 1) + if (c->fc->nb_streams < 1 || c->ignore_editlist) return 0; sc = c->fc->streams[c->fc->nb_streams-1]->priv_data; @@ -3337,6 +3337,8 @@ static const AVOption options[] = { "allow using absolute path when opening alias, this is a possible security issue", offsetof(MOVContext, use_absolute_path), FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_DECODING_PARAM}, + {"ignore_editlist", "", offsetof(MOVContext, ignore_editlist), FF_OPT_TYPE_INT, {.dbl = 0}, + 0, 1, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_DECODING_PARAM}, {NULL} };