diff options
author | wm4 <wm4@nowhere> | 2017-04-07 13:12:10 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-04-07 13:12:10 +0200 |
commit | b7b12c36af96af14b8371d16c5a7f98a7a17915f (patch) | |
tree | 73c1196f9940c19d7d612240091e7a6152d5dc3e /demux | |
parent | bcfdcd6226d7c898d790aa88c65d854cda92d35e (diff) |
demux_lavf: disable half-working mp4 edit list support in libavcodec
Instead, enable the "old" code, which uses this for gapless info (audio
padding/trailing) only.
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux_lavf.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c index 8371985419..f853a775ff 100644 --- a/demux/demux_lavf.c +++ b/demux/demux_lavf.c @@ -133,6 +133,7 @@ struct format_hack { // segment, with e.g. HLS, player knows about the playlist main file only). bool clear_filepos : 1; bool ignore_start : 1; + bool fix_editlists : 1; }; #define BLACKLIST(fmt) {fmt, .ignore = true} @@ -152,7 +153,7 @@ static const struct format_hack format_hacks[] = { {"mpeg", .use_stream_ids = true}, {"mpegts", .use_stream_ids = true}, - {"mp4", .skipinfo = true}, + {"mp4", .skipinfo = true, .fix_editlists = true}, {"matroska", .skipinfo = true}, // In theory, such streams might contain timestamps, but virtually none do. @@ -875,6 +876,9 @@ static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check) guess_and_set_vobsub_name(demuxer, &dopts); + if (priv->format_hack.fix_editlists) + av_dict_set(&dopts, "advanced_editlist", "0", 0); + avfc->interrupt_callback = (AVIOInterruptCB){ .callback = interrupt_cb, .opaque = demuxer, |