• wm4's avatar
    matroskadec: verify seekhead IDs · 7e240f95
    wm4 authored
    Some files have SeekHead elements with broken IDs. They mismatch with
    the ID of the destination element. These files are written by
    "IDMmkvlib0.1" (as identified by the MuxingApp and WritingApp elements),
    and the SeekHead IDs are actually endian-swapped.
    
    This confuses the SeekHead logic of the demuxer. It will read some
    elements twice, because the SeekHead ID is used to identify and remember
    already read elements. With the file at hand, the stream list was
    duplicated by reading the Tracks element twice.
    
    Fix this by rejecting invalid EBML IDs in SeekHead entries. (This fix is
    relatively specific to the broken file at hand, and doesn't protect
    against some other cases of broken SeekHead, such as valid but
    mismatching target element IDs.)
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    7e240f95
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_vda.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...