diff options
author | wm4 <wm4@nowhere> | 2017-01-31 12:44:14 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-01-31 12:44:49 +0100 |
commit | c178920505b530f411d0bc93f9e55278af557fc7 (patch) | |
tree | 508a3ac1895eca05e924cb18359b43c0c798c95c /demux/demux_mkv.c | |
parent | 07494aab16988fe450941be832db20421c2b6d5f (diff) | |
download | mpv-c178920505b530f411d0bc93f9e55278af557fc7.tar.bz2 mpv-c178920505b530f411d0bc93f9e55278af557fc7.tar.xz |
demux_mkv: any reference makes a frame not a keyframe
Fixes seeking with:
https://bugs.chromium.org/p/chromium/issues/detail?id=497889
Haali also ignores the element's contents, and interprets its presence
as the block not being a keyframe. FFmpeg is going to have an equivalent
change.
I don't know yet whether the affected sample is valid - a reference
timestamp of 0 doesn't make too much sense to me.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r-- | demux/demux_mkv.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index ddda2ecb61..5db975926e 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -2604,8 +2604,7 @@ static int read_block_group(demuxer_t *demuxer, int64_t end, int64_t num = ebml_read_int(s); if (num == EBML_INT_INVALID) goto error; - if (num) - block->keyframe = false; + block->keyframe = false; break; case MATROSKA_ID_CLUSTER: |