ffmpeg/libavformat
wm4 7e240f9581 matroskadec: verify seekhead IDs
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: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 19:30:11 +02:00
..
4xm.c avformat/4xm: Change fps to AVRational 2015-05-23 22:36:02 +02:00
a64.c
aacdec.c
ac3dec.c
act.c
adp.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c avformat/aiffdec: avoid double and ldexp() 2015-06-11 13:09:46 +02:00
aiffenc.c
allformats.c avformat: Add single jpeg muxer 2015-06-08 03:36:22 +02:00
amr.c
anm.c
apc.c
ape.c
apetag.c
apetag.h
apngdec.c
apngenc.c lavf/apngenc: Fix png remuxing by using default extension apng. 2015-05-04 17:49:36 +02:00
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec.c avformat/asfdec: Avoid float usage in duration calculation 2015-05-26 13:51:29 +02:00
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
au.c
audiointerleave.c Merge commit 'f7e932473314e6ca4c851d49cbde8570b6e66383' 2015-06-08 22:37:41 +02:00
audiointerleave.h
avc.c
avc.h
avformat.h avformat/avformat: slightly more verbose documentation for open_cb() 2015-05-11 22:33:48 +02:00
avformatres.rc
avi.h
avidec.c avformat/avidec: add mp2 to the list of exceptions instead of generally treating dshow_block_align==1 special 2015-05-17 01:46:09 +02:00
avienc.c avformat/avienc: Correct possible dereference of null 2015-05-29 00:04:41 +02:00
avio_internal.h Merge commit 'bff0349d9da527084e1433167466d8afc9e25c7f' 2015-06-01 00:43:50 +02:00
avio.c lavf/tls: Support Secure Transport 2015-05-29 21:52:27 +02:00
avio.h avformat/avio: move short seek threshold to the context 2015-06-11 13:42:06 +02:00
aviobuf.c avformat/avio: move short seek threshold to the context 2015-06-11 13:42:06 +02:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c cafdec: free extradata before allocating it 2015-05-13 20:11:37 +02:00
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
cinedec.c
concat.c
concatdec.c avformat/concatdec: Enable auto_convert by default 2015-05-29 12:19:47 +02:00
crcenc.c
crypto.c
cutils.c
dashenc.c Merge commit 'b8d2630c5327d2818d05c8a48be0417905d8e0fd' 2015-05-11 01:56:11 +02:00
data_uri.c
dauddec.c
daudenc.c
dfa.c
diracdec.c
dnxhddec.c lavf/dnxhd: Autodetect more files that can be decoded. 2015-05-26 00:29:36 +02:00
dsfdec.c
dsicin.c
dss.c
dtsdec.c avformat/dtsdec: Extend DTS core sync word 2015-04-28 19:29:47 +02:00
dtshddec.c
dump.c Merge commit '6c8c7c246280cdcd23e4d99006b95245ae837278' 2015-05-06 22:29:19 +02:00
dv.c
dv.h
dvbsub.c
dvenc.c
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffm.h
ffmdec.c avformat/ffmdec: Check ffio_set_buf_size() return value 2015-06-07 14:55:10 +02:00
ffmenc.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
file_open.c
file.c
filmstripdec.c
filmstripenc.c
flac_picture.c
flac_picture.h
flacdec.c
flacenc_header.c
flacenc.c avformat/flacenc: Check length in flac_write_block_comment() 2015-05-11 15:31:55 +02:00
flacenc.h
flic.c
flv.h
flvdec.c libavformat/flvdec.c: don't build index_entries for input stream if AVIOContext is not seekable 2015-06-10 16:22:11 +02:00
flvenc.c
format.c avformat/format: Add generic trace av_log in av_probe_input_format3() 2015-04-25 03:43:59 +02:00
framecrcenc.c
framehash.c
frmdec.c
ftp.c
g722.c
g723_1.c
g729dec.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c avformat/h264dec: Add ff_tlog() with trace information about h264 probing 2015-05-30 03:57:20 +02:00
hdsenc.c avformat/hdsenc: Change duration from single to to double precision 2015-06-08 00:35:43 +02:00
hevc.c avformat: Fix bug in parse_rps for HEVC. 2015-06-11 02:31:53 +02:00
hevc.h
hevcdec.c
hls.c avformat/hls: Handle read_buffer allocation failure 2015-05-12 19:03:18 +02:00
hlsenc.c avformat/hlsenc: do not append an endlist tag when the stream ends 2015-05-17 17:15:03 +02:00
hlsproto.c
hnm.c
http.c lavf/http: Correctly terminate session with HTTP POST client. 2015-06-10 18:17:28 +02:00
http.h
httpauth.c
httpauth.h
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c id3v2: catch avio_read errors in check_tag 2015-05-11 20:21:48 +02:00
id3v2.h
id3v2enc.c
idcin.c avformat/idcin: Remove redundant chunk size check 2015-05-12 18:40:16 +02:00
idroqdec.c
idroqenc.c
iff.c
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c Merge commit '7b734ee55dbb8476d7ad63c7daf55c534cf82d5d' 2015-05-06 21:05:16 +02:00
img2.h lavf/img2dec: add option to disable pattern matching 2015-05-12 13:32:23 +02:00
img2dec.c lavf/img2dec: add option to disable pattern matching 2015-05-12 13:32:23 +02:00
img2enc.c
ingenientdec.c
internal.h libavformat/mux: Add ff_choose_chroma_location() 2015-05-22 15:30:31 +02:00
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c avformat/ircamenc: Avoid floats 2015-05-26 19:54:41 +02:00
isom.c
isom.h
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v
libgme.c
libmodplug.c
libnut.c
libquvi.c avformat/libquvi: fix error handling 2015-05-31 19:04:52 +02:00
librtmp.c
libsmbclient.c
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat: Add single jpeg muxer 2015-06-08 03:36:22 +02:00
matroska.c
matroska.h
matroskadec.c matroskadec: verify seekhead IDs 2015-06-12 19:30:11 +02:00
matroskaenc.c Merge commit 'b14086ca38efa1a86cb0f0c6aa147b05f698877b' 2015-06-09 18:30:24 +02:00
md5enc.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mkvtimestamp_v2.c
mlvdec.c avformat/mlvdec: Use AVFormatContext->open_cb() 2015-05-11 22:53:12 +02:00
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov_chan.c mov: abort on EOF in ff_mov_read_chan 2015-05-31 13:05:12 +02:00
mov_chan.h
mov.c Merge commit '6308cd4868d2bd5fdf8bfa8dd10856c9a91874f5' 2015-06-08 22:56:51 +02:00
movenc.c avformat/movenc: Make static packed_size, const static 2015-06-11 00:48:41 +02:00
movenc.h
movenchint.c
mp3dec.c avformat/mp3dec: Ensure the buffer is large enough to avoid seeks from the first frame search 2015-05-27 17:06:24 +02:00
mp3enc.c
mpc8.c
mpc.c
mpeg.c lavf/mpeg: Do not detect unknown audio in Hikvision streams as alaw. 2015-05-17 12:57:27 +02:00
mpeg.h
mpegenc.c avformat/mpegenc: Replace *0.7 by *7/10 2015-05-25 13:34:34 +02:00
mpegts.c avformat/mpegts: recognizes and export private streams 2015-06-12 13:59:00 +02:00
mpegts.h
mpegtsenc.c
mpegvideodec.c
mpjpeg.c
mpjpegdec.c mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail 2015-06-09 10:07:11 +02:00
mpl2dec.c
mpsubdec.c avformat/mpsubdec: Use double instead of float for timestamp calculations 2015-05-27 17:29:18 +02:00
msnwc_tcp.c
mtv.c
mux.c libavformat/mux: Add ff_choose_chroma_location() 2015-05-22 15:30:31 +02:00
mvdec.c
mvi.c
mxf.c
mxf.h avformat/mxf: Always evaluate PRINT_KEY() arguments at compile time 2015-05-10 14:39:27 +02:00
mxfdec.c avformat/mxfdec: return error instead of segfaulting if there are no streams 2015-06-02 13:45:47 +02:00
mxfenc.c avformat/mxfenc: Allow overriding /manual setting of the signal standard 2015-06-08 13:03:29 +02:00
mxg.c
ncdec.c
network.c network: prevent SIGPIPE on OSX 2015-05-31 10:10:16 +03:00
network.h
nistspheredec.c
noproxy-test.c
nsvdec.c
nullenc.c
nut.c
nut.h nutdec: fix infinite resync loops 2015-05-20 19:07:26 +02:00
nutdec.c nutdec: fix various memleaks on failure 2015-05-23 17:42:35 +02:00
nutenc.c avformat/nutenc: Fix writing strings larger than 2gb 2015-05-10 16:26:58 +02:00
nuv.c
oggdec.c
oggdec.h
oggenc.c avformat/oggenc: Fix return code in case of flushing 2015-06-09 18:42:55 +02:00
oggparsecelt.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options_table.h
options.c avformat_alloc_context: initialize raw_packet_buffer_remaining_size. 2015-05-10 08:47:53 +02:00
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c avformat: Add single jpeg muxer 2015-06-08 03:36:22 +02:00
rawenc.h
rawvideodec.c
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c lavf/riff: Add 0x729A as TwoCC for G.729. 2015-05-25 23:39:56 +02:00
riff.h
riffdec.c
riffenc.c lavf/riffenc: Set correct block align for mp2. 2015-06-04 17:03:34 +02:00
rl2.c
rm.c
rm.h
rmdec.c
rmenc.c avformat/rmenc: Remove float usage 2015-06-07 21:55:46 +02:00
rmsipr.c
rmsipr.h
rpl.c
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c Merge commit '0508faaa11bf7507ffdd655aee57c9dc5a8203f4' 2015-05-29 11:32:07 +02:00
rtmpcrypt.h
rtmpdh.c Merge commit '63ce9fd23cfa5ac0d9a862be0da138108dc1c505' 2015-06-01 11:29:05 +02:00
rtmpdh.h Merge commit '63ce9fd23cfa5ac0d9a862be0da138108dc1c505' 2015-06-01 11:29:05 +02:00
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c
rtp.c
rtp.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c Merge commit '4733a12dd17a91d606e0079ff9bb48b9f419cbef' 2015-06-08 23:05:01 +02:00
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263_rfc2190.c
rtpdec_h263.c
rtpdec_h264.c
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_svq3.c
rtpdec_vp8.c
rtpdec_vp9.c
rtpdec_xiph.c avformat/rtpdec_xiph: Move pkt_len onto one side of the check 2015-05-12 18:07:32 +02:00
rtpdec.c
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c avformat/rtpenc_jpeg: Check remaining buffer size for SOS 2015-05-12 17:55:40 +02:00
rtpenc_latm.c
rtpenc_mpegts.c
rtpenc_mpv.c
rtpenc_vp8.c
rtpenc_xiph.c
rtpenc.c Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference" 2015-06-03 22:39:27 +02:00
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c avformat/rtsp: print a debug level note if time parsing fails 2015-05-15 20:21:37 +02:00
rtsp.h
rtspcodes.h
rtspdec.c lavf: split tls.c 2015-05-27 21:48:47 +02:00
rtspenc.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbgdec.c avformat/sbgdec: Check alloc_array_elem() return value 2015-06-02 16:42:33 +02:00
sctp.c Merge commit '8ef98855d25e457094468e2e1a79d9b10d6445b2' 2015-06-08 22:35:53 +02:00
sdp.c
sdr2.c
seek-test.c
segafilm.c
segment.c lavf/segment: add an option to allow breaking on non-keyframes 2015-06-09 13:26:00 +02:00
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
stldec.c
subfile.c
subtitles.c avformat/subtitles: Use size_t for len 2015-05-11 12:42:38 +02:00
subtitles.h avformat/subtitles: Use size_t for len 2015-05-11 12:42:38 +02:00
subviewer1dec.c
subviewerdec.c
supdec.c
swf.c
swf.h
swfdec.c
swfenc.c avformat/swfenc: Remove another unneeded float computation 2015-05-24 13:32:53 +02:00
takdec.c
tcp.c
tedcaptionsdec.c
tee.c
thp.c
tiertexseq.c
tls_gnutls.c Merge commit 'd4d90504a687d2c0ef77ccf11d831f24dcff9cf1' 2015-05-28 21:21:07 +02:00
tls_openssl.c lavf: move TLS-related ifdeffery to library specific files 2015-05-27 22:24:00 +02:00
tls_securetransport.c lavf/tls_securetransport: fix SNI support when not verifying 2015-06-09 01:06:32 +02:00
tls.c lavf/tls: let the user specify what name to verify against 2015-06-08 14:08:52 +02:00
tls.h lavf/tls: let the user specify what name to verify against 2015-06-08 14:08:52 +02:00
tmv.c
tta.c
tty.c
txd.c
udp.c
uncodedframecrcenc.c
unix.c
url-test.c
url.c avformat/url: Use size_t for len from strlen() 2015-05-11 03:50:01 +02:00
url.h
urldecode.c
urldecode.h
utils.c avformat/utils: Do not select audio streams with unknown sample rate in av_find_best_stream() 2015-06-06 01:02:43 +02:00
vc1test.c
vc1testenc.c
version.h avformat/version: Bump version for single jpeg muxer 2015-06-08 04:00:45 +02:00
vivo.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c avformat/vorbiscomment: Use 64bit int for ff_vorbiscomment_length() 2015-05-11 15:56:16 +02:00
vorbiscomment.h avformat/vorbiscomment: Use 64bit int for ff_vorbiscomment_length() 2015-05-11 15:56:16 +02:00
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c avformat/wavdec: Increase dts packet threshold to fix more misdetections 2015-05-23 16:04:19 +02:00
wavenc.c lavf/wav: Print an error if files >4G are written. 2015-05-17 02:08:58 +02:00
wc3movie.c
webm_chunk.c lavf/webm_chunk: Remove AVFMT_ALLOW_FLUSH 2015-06-09 21:19:57 +02:00
webmdashenc.c lavf/webmdashenc: fix unchecked strftime 2015-05-15 00:56:43 +02:00
webpenc.c WebP muxer: support a packet containing animated WebP. 2015-05-22 00:17:53 +02:00
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_vqa.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c avformat/wvdec: fix seeking 2015-04-24 03:43:56 +02:00
wvenc.c
xa.c
xmv.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c