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.
This commit is contained in:
wm4 2017-04-07 13:12:10 +02:00
parent bcfdcd6226
commit b7b12c36af
1 changed files with 5 additions and 1 deletions

View File

@ -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,