summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-01-31 12:44:14 +0100
committerwm4 <wm4@nowhere>2017-01-31 12:44:49 +0100
commitc178920505b530f411d0bc93f9e55278af557fc7 (patch)
tree508a3ac1895eca05e924cb18359b43c0c798c95c /demux
parent07494aab16988fe450941be832db20421c2b6d5f (diff)
downloadmpv-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')
-rw-r--r--demux/demux_mkv.c3
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: