summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorKagami Hiiragi <kagami@genshiken.org>2015-12-29 22:12:46 +0300
committerwm4 <wm4@nowhere>2015-12-29 20:39:34 +0100
commit492e3deb956a0c9d8ce7ed0d6f25aa0737ae7f50 (patch)
treeeedefdbe122edcbbb4bed8cd2c0210671523776e /demux
parentfb185e4e79e3d3bcecfd7b786ff9086c35b464a0 (diff)
downloadmpv-492e3deb956a0c9d8ce7ed0d6f25aa0737ae7f50.tar.bz2
mpv-492e3deb956a0c9d8ce7ed0d6f25aa0737ae7f50.tar.xz
demux_mkv: skip EBML void elements
EBML_ID_VOID might occur at any level, see: https://github.com/Matroska-Org/ebml-specification/blob/master/specification.markdown This change prevents "Corrupt file detected" errors on completely valid files.
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_mkv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 4b4e16c4b6..7f32e8d810 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2609,7 +2609,7 @@ static int read_next_block(demuxer_t *demuxer, struct block_info *block)
}
// For the sake of robustness, consider even unknown level 1
// elements the same as unknown/broken IDs.
- if (!ebml_is_mkv_level1_id(id) ||
+ if ((!ebml_is_mkv_level1_id(id) && id != EBML_ID_VOID) ||
ebml_read_skip(demuxer->log, -1, s) != 0)
{
ebml_resync_cluster(demuxer->log, s);