summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-02-24 21:48:24 +0100
committerwm4 <wm4@nowhere>2016-02-24 21:48:24 +0100
commit503c6f7fd6c3c542667c93c75db260671c4ba982 (patch)
treecdb461351918761c4f26043b7049d549f1babe2c /demux/demux_mkv.c
parentf0b15ad447927a794ee0785cd477348b10d875ae (diff)
downloadmpv-503c6f7fd6c3c542667c93c75db260671c4ba982.tar.bz2
mpv-503c6f7fd6c3c542667c93c75db260671c4ba982.tar.xz
demux_mkv: don't trust DefaultDuration for audio
It's used to interpolate timestamps for sub-packets ("block laces"). It's occasionally broken, and not really needed by us.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index e99d8a2c63..7b5efd8219 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -1687,11 +1687,9 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track)
sh_a->samplerate = 48000;
}
- // Some files have broken default DefaultDuration set, which will lead to
- // audio packets with incorrect timestamps. This follows FFmpeg commit
- // 6158a3b, sample see FFmpeg ticket 2508.
- if (sh_a->samplerate == 8000 && strcmp(codec, "ac3") == 0)
- track->default_duration = 0;
+ // This field tends to be broken, and our decoder can interpolate the
+ // missing timestamps anyway.
+ track->default_duration = 0;
sh_a->extradata = extradata;
sh_a->extradata_size = extradata_len;