Commit Graph

9051 Commits

Author SHA1 Message Date
Michael Niedermayer
de2eb6dab1 rmdec: flush audio packet on seeking
Fixes Ticket1605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 519ebb5ee5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 22:52:12 +02:00
Xi Wang
8c0261d685 rtmp: fix buffer overflows in ff_amf_tag_contents()
A negative `size' will bypass FFMIN().  In the subsequent memcpy() call,
`size' will be considered as a large positive value, leading to a buffer
overflow.

Change the type of `size' to unsigned int to avoid buffer overflow, and
simplify overflow checks accordingly.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4e692374f7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 22:34:14 +02:00
Xi Wang
4b7036c1d9 rtmp: fix multiple broken overflow checks
Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 902cfe2f74)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 22:34:14 +02:00
Michael Niedermayer
cf701b008f avformat/avidec: match first index and first packet size=0 handling
Fixes Ticket2861

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 227a0eb5a9)

Conflicts:
	libavformat/avidec.c
2013-08-31 09:31:37 +02:00
Michael Niedermayer
d6641c0bab mpegts: only reopen pmt_cb filter if its different from the previous.
Fixes Ticket2632

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b009267910)
2013-07-07 19:01:35 +02:00
Michael Niedermayer
0ca658a716 rmdec: Pass AVIOContext to rm_read_metadata()
Fix null pointer dereference
Fixes Ticket2588

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf87908cd8)

Conflicts:
	libavformat/rmdec.c
2013-07-07 19:01:25 +02:00
Michael Niedermayer
340c1843c5 avformat/libmodplug: Reduce the probe score for small input
This ensures that theres enough data for mpeg_probe() to recognize mpeg-ps
Fixes Ticket2583

Based on code by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c605adbf56)
2013-06-21 01:19:33 +02:00
Carl Eugen Hoyos
ffe831fcb6 Autodetect idcin only if audio properties allow decoding.
Fixes ticket #2688.
(cherry picked from commit 06bede95fc)
2013-06-19 23:49:26 +02:00
Michael Niedermayer
b22cc0c15d avidec: dont randomly skip packets for offseting the index
Fixes Ticket2490

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6c593f1b67)
2013-05-17 23:00:16 +02:00
Carl Eugen Hoyos
38cd7f66b7 Write broken aac frames to mov files instead of skipping them.
Fixes decoding with picky media players.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b448c0a68d)

Conflicts:
	libavformat/movenc.c
2013-04-02 12:57:35 +02:00
Carl Eugen Hoyos
402bc31d87 Only test the first frame for missing aac_adtstoasc bistream filter.
Many players ignore broken aac frames, so don't abort mov or flv
muxing when encountering one, just print a warning instead.

Fixes ticket #2380.
(cherry picked from commit 1741fece70)

Conflicts:
	libavformat/flvenc.c
	libavformat/movenc.c
2013-03-27 01:09:02 +01:00
Carl Eugen Hoyos
dcdeeea820 Require at least three frames to autodetect loas.
(cherry picked from commit a60530e3ee)
2013-03-02 02:05:27 +01:00
Nicolas George
cbadebd8cc lavf/avio: check for : in filenames for protocols.
If the first "special" character in a filename is a comma,
it can introduce protocol options, but only if there is a
colon at the end. Otherwise, it is just a filename with a
comma.

Fix trac ticket #2303.
(cherry picked from commit d9fad53f4b)
2013-03-01 09:01:56 +01:00
Carl Eugen Hoyos
9103d77ffc matroskaenc: add codec_tag lists back.
This reverts 312645e :
"Do not set codec_tag property for matroska muxers."

Also adds dummy codec_tag lists with codecs
supported in mkv but not in wav / avi.

Fixes ticket #2169.
(cherry picked from commit df39c3ce38)

Conflicts:
	libavformat/matroskaenc.c
2013-01-24 02:46:38 +01:00
Michael Niedermayer
436c011a77 avidec: try to support oddly muxed MMES stream
Fixes ticket1804

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit be89693ddc)
2012-12-10 00:58:35 +01:00
Michael Niedermayer
ec6271c019 riff: ignore ff_read_riff_info() failure.
Some files simply contain invalid info tags.
Fixes unrelated bug posted into Ticket1821

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 09456d0df1)
2012-12-10 00:50:06 +01:00
Michael Niedermayer
455b98b777 riff: retry reading metadata without padding if it fails with
Fixes Ticket1821

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d0c27e88d2)
2012-12-10 00:50:04 +01:00
Carl Eugen Hoyos
f7d7b01e81 Fix muxing mjpeg in swf.
(cherry picked from commit 7680d99b43)
2012-09-13 09:22:09 +02:00
Janne Grunau
e390a9de6f electronicarts: check bytes per sample for validity
Prevents division by zero.
2012-05-03 01:23:02 +02:00
Tomas Härdin
515b7f08b1 mxfdec: Only parse next partition pack if parsing forward
This fixes ticket #1099.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 393b81f093)
2012-03-21 13:26:13 +01:00
Michael Niedermayer
68f1212696 Revert "rmdec: Avoid allocating huge packets"
This reverts commit 66f71f3b5e.

This causes regressions with RDT.
(cherry picked from commit c4eec85a1f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-05 01:06:13 +01:00
Michael Niedermayer
0a5bca957d lavf: use avg_frame_rate and packet number to exit find_stream_info
qatar does this too but clobbers the AVPacket.duration by approximate
values.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ad8e3304f7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-05 01:06:12 +01:00
Michael Niedermayer
0f61521f69 lavf: revert commit bb99ae3ae9
Author: Michael Niedermayer <michaelni@gmx.at>
	Date:   Thu Nov 3 22:38:10 2011 +0100

	    lavf: fix null pointer dereference in rdt

	    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

This is no longer needed and causes various problems with RTSP

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1171d938af)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-05 01:06:11 +01:00
Chris Evans
49b8709870 mkv: Fix a bug where a pointer was cached to an array that might later move due to
a realloc()

BUG=100492
Review URL: http://codereview.chromium.org/8366004
Fixes: 1 of 2 for CVE-2011-3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f35e037c93)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-04 22:18:55 +01:00
Michael Niedermayer
9f9b6388a3 electronicarts: Pass error through ea_read_header().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f37174bc19)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-04 22:18:01 +01:00
Oana Stratulat
32b62c7d6a electronicarts: Fix division by zero. Fixes Ticket #793
Signed-off-by: Oana Stratulat <oanaandreeastratulat@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0d3a51e5d2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-04 22:18:01 +01:00
Paul B Mahol
e5ae872309 y41p encoder and decoder
y41p is a packed 12-bit 4:1:1 YUV format used by Brooktree.

Fixes issue 1123 / ticket #102.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dfa77dead2)

Conflicts:

	Changelog
	libavcodec/version.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:50:03 +01:00
Michael Niedermayer
f6e360770d mpegpsenc: Fix integer overflow of the muxrate calculation.
this should fix the failure of h264-bsf-mp4toannexb on freebsd/openbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 490c97bdf5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:47:01 +01:00
Michael Niedermayer
4ae111cf71 lavf: ffio_limit(), treat avio_size()==0 as error.
This works around issues arising from inputs that claim to have a
filesize of 0.

Reported-by: buzz_
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e6362f3a3c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:44:34 +01:00
Michael Niedermayer
0bf48d24d7 flvdec: Check avpriv_mpeg4audio_get_config() return
value before using its output.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5500e65342)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:43:43 +01:00
Jean First
2dcacbb68e cache: use av_freep instead of av_free in cache_open
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 576ada791a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:43:26 +01:00
Michael Niedermayer
fa97a8030f flvdec: Check index for being valid
Fixes seeking in Enigma_Principles_of_Lust.flv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit df0bff6643)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:41:40 +01:00
Michael Niedermayer
53c430415a nsvdec: Check av_malloc(string_size)
This can easily be NULL as string_size can be 2g in a damaged file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b9e0e9537a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:41:16 +01:00
Michael Niedermayer
e1152971a6 issdemux: Check packet_size for validity
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf5cc80519)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:40:24 +01:00
Michael Niedermayer
a80205ff82 segafilm: fail earlier in case theres not enough bytestream left for a
audio packet.
This prevents a potentially large memory allocation.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1795fed7bc)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:32:39 +01:00
Michael Niedermayer
0231a68ecd avio: Fix ffio_limit() when due to seeking past the end less than 0 bytes remain.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 27d323577c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:32:28 +01:00
Michael Niedermayer
42476635ba asfdec: fix endless loop on EOF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0d4404ed65)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:32:04 +01:00
Michael Niedermayer
462ecdb9bb sierravmd: limit packetsize to the amount that could be read.
Fixes huge allocations.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 47c4713a23)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:31:57 +01:00
Michael Niedermayer
a1666ae8f0 rmdec: Avoid allocating huge packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 66f71f3b5e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:31:35 +01:00
Michael Niedermayer
adf0c1c70c rpl: Fix near infinite loop in index reading due to missing eof check.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 43abef9fde)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:31:16 +01:00
Michael Niedermayer
a9de82ac17 avio: fix handling of , in urls
Fixes Ticket805

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ad9e0ed170)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:29:21 +01:00
Michael Niedermayer
33636442e2 udp: support non blocking reads with fifo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f50dafe90)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:26:26 +01:00
Michael Niedermayer
3710f0b9ed udp: Replace double select() by select+mutex+cond.
When no data was available both the buffer thread as well as
the main thread would block in select(), when data becomes
available both should move forward and as data is read in the
buffer thread the main thread would block in select() later
the read data was put in the fifo but the main thread still
would be blocked in select() until either the timeout or
another packet would come in.

This is solved in this commit by using a mutex and a condition
variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bc900501e0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:26:20 +01:00
Michael Niedermayer
12d0e44bdb udp: return circular buffer error if such error happened.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3dcbafc777)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 22:26:06 +01:00
Paul B Mahol
8dce2dd9cc lavf: Add SMJPEG demuxer.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a4209ad631)

Conflicts:

	Changelog
	doc/general.texi
	libavformat/version.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Michael Niedermayer
532731369a ipmovie: fix FPE
Fixed Ticket807
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d960fbc70)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 21:51:53 +01:00
Tomas Härdin
5c2097cff7 mxfdec: Sanity check PreviousPartition
Without this certain files could get the demuxer stuck in a loop
(cherry picked from commit 46d65fb8a5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:52:21 +01:00
Tomas Härdin
6a8826abf4 mxfdec: Move the current_partition check inside mxf_read_header()
This fixes SIGSEGV on files where this is actually the case, such as zzuf4.mxf
(cherry picked from commit 184f479096)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:51:52 +01:00
Tomas Härdin
46e4dd66da mxfdec: Check url_feof() in mxf_read_local_tags()
This fixes the infinite loop with zzuf2.mxf
(cherry picked from commit 2116e4ba91)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:50:30 +01:00
Tomas Härdin
7e35c3e177 mxfdec: Check for NULL component
This fixes SIGSEGV with zzuf1.mxf
(cherry picked from commit 5e5e69d078)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 20:50:20 +01:00