1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-24 13:56:33 +02:00

18041 Commits

Author SHA1 Message Date
Michael Niedermayer
b70f7d20e1 avformat/matroskadec: Check subtitle stream before dereferencing
Unrecognized streams are not allocated
Fixes: flicker-1.color1.vp91447030769.08.webm

Found-by: Chris Cunningham <chcunningham@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a5034b324cad4c29d47ef285a30b0705e6eb0384)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-26 16:06:39 +01:00
Michael Niedermayer
859a6edaed avformat/utils: Do not init parser if probing is unfinished
Fixes assertion failure
Fixes: 136f8b8d47af7892306625e597dee655/signal_sigabrt_7ffff6ae7cc9_8941_ab11bea57c84796418f481f873dc31ba.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1ef336e912a7a3a13a9933825a56c421f891e44b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-26 16:06:39 +01:00
Andreas Cadhalpun
b372ad819e mxfdec: check edit_rate also for physical_track
Previously only the edit_rate of material_track was checked.
If it's negative, it causes assertion failures in av_rescale_rnd.

Reviewed-by: Tim Nicholson <nichot20-at-yahoo.com@ffmpeg.org>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 047bf82c181c1220b3087b37f28445f8b87a7a23)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:35:46 +01:00
Andreas Cadhalpun
d09fd0736a brstm: reject negative sample rate
A negative sample rate causes assertion failures in av_rescale_rnd.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 7b67fe20f6c5ce21ed1cac01fdb1906e515bc87e)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-11-26 01:35:45 +01:00
Rodger Combs
edf5e88eac lavf/mov: add support for sidx fragment indexes
Fixes trac #3842
(cherry picked from commit 4ab56667594842283dc5ae07f0daba2a2cb4d3af)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-11 02:50:39 +01:00
Michael Niedermayer
9a6d581076 avformat/mxfenc: Only store user comment related tags when needed
Also support disabling them as they seem to cause problems to some
Users. They are also not allowed in IRT D-10 thus the default for
mxf_d10 is not to write them

This also decreases the filesize when no user comment are stored

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d9726893f311b7bbbc9887db2c3ffbefaad78ca3)

Conflicts:

	libavformat/mxfenc.c
2015-11-11 02:21:32 +01:00
Andreas Cadhalpun
e217224456 jvdec: avoid unsigned overflow in comparison
The return type of strlen is size_t, i.e. unsigned, so if pd->buf_size
is 3, the right side overflows leading to a wrong result of the
comparison and subsequently a heap buffer overflow.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit db374790c75fa4ef947abcb5019fcf21d0b2de85)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-07 14:10:41 +01:00
Michael Niedermayer
b93a8bd838 avformat/xmv: Discard remainder of packet on error
Fixes infinite loop
Fixes: 9c48ae2680c5f23bca3d20ff0f325fd8/asan_generic_4c254d_1374_993f1e5967dd6f844b8d72f978ce2a6c.pss

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 79c4a338e4b2bf0bc6f81c9f455994f673a92f78)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-06 02:55:48 +01:00
Michael Niedermayer
2817eb514c avformat/xmv: factor return check out of if/else
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9b6fac11da470274d4b93d46ef66527aa1824179)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-06 02:55:13 +01:00
Michael Niedermayer
c7174d5204 avformat/mpegts: Only start probing data streams within probe_packets
Fixes assertion failure
Fixes: 4321db8ac331f5967ebfbfe80ce5eb78/signal_sigabrt_7ffff6ae7cc9_7213_0d6457b9d6897fa7c78507fa5de53510.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3692d859f45fa8765fa5a330e79108b03c17c6bd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-05 18:23:11 +01:00
Lucas de Andrade
fcb8ee98f6 avformat/hls: update cookies on setcookie response
Context cookies must be updated when a playlist response return Setcookie header.

See: 770dd105044d00263da041f509a08b316296a78e
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-30 18:12:30 +01:00
Martin Storsjö
3f3e12c768 rtsp: Allow $ as interleaved packet indicator before a complete response header
Some RTSP servers ("HiIpcam/V100R003 VodServer/1.0.0") respond to
our keepalive GET_PARAMETER request by a truncated RTSP header
(lacking the final empty line to indicate a complete response
header). Prior to 764ec70149, this worked just fine since we
reacted to the $ as interleaved packet indicator anywhere.

Since $ is a valid character within the response header lines,
764ec70149 changed it to be ignored there. But to keep
compatibility with such broken servers, we need to at least
allow reacting to it at the start of lines.

Fixes ticket #4952.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e02dcdf6bb6835ef4b49986b85a67efcb3495a7f)
2015-10-27 13:40:06 +01:00
wm4
96b87d5cfa avformat/mp3dec: improve junk skipping heuristic
Commit 2b3e9bbfb529e6bde238aeb511b55ebe461664c8 caused problems for a
certain API user:

https://code.google.com/p/chromium/issues/detail?id=537725
https://code.google.com/p/chromium/issues/detail?id=542032

The problem seems rather arbitrary, because if there's junk, anything
can happen. In this case, the imperfect junk skipping just caused it to
read different junk, from what I can see.

We can improve the accuracy of junk detection by a lot by checking if 2
consecutive frames use the same configuration. While in theory it might
be completely fine for the 1st frame to have a different format than the
2nd frame, it's exceedingly unlikely, and I can't think of a legitimate
use-case.

This is approximately the same mpg123 does for junk skipping. The
set of compared header bits is the same as the libavcodec mp3 parser
uses for similar purposes.
(cherry picked from commit de1b1a7da9e6ddf42447271e519099a88b389e4a)
2015-10-20 12:35:43 +02:00
Marton Balint
e0e28dad90 concatdec: fix file_start_time calculation regression
Fixes ticket #4924.

Found-by: Jaroslav Šnajdr <jsnajdr@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
(cherry picked from commit df239b76195156f179618ddb8b167d5bf1245247)
2015-10-17 22:36:33 +02:00
Anssi Hannula
68a6178ef0 avformat/hls: add support for EXT-X-MAP
Without EXT-X-MAP support we miss the first bytes of some streams.

These streams worked by luck before byte-ranged segment support was added in
da7759b3579de3e98deb1ac58e642b861280ba54

Fixes ticket #4797.
(cherry picked from commit 909907948846dedf57a730a4d115d04d1117f9e5)

Conflicts:
	libavformat/hls.c
2015-10-15 14:27:20 +02:00
Anssi Hannula
d51ddd45b2 avformat/hls: fix segment selection regression on track changes of live streams
Commit ad701326b43078b90 ("avformat/hls: open playlists immediately when
AVDISCARD_ALL is dropped") inadvertently caused first_packet to never be
cleared, causing select_cur_seq_no() to not use the specific code for
live streams.

In practice this means that when the user selects a different audio
track during live stream (i.e. non-VOD) playback, there may be some
additional delay as the code might select an incorrect segment at first,
and we have to wait for video to catch audio (if too late segment was
selected) or to download more following audio segments (if too early
segment was selected).

Fix that by restoring the zeroing of first_packet.
(cherry picked from commit fd74d45d5158812675105a3b4aeb29c67b82f7e8)
2015-10-15 14:21:29 +02:00
Andreas Cadhalpun
13d3749424 doc: fix spelling errors
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 8d6625642db064a45224cb7a8e037f6e79a6554d)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-12 21:46:54 +02:00
Andreas Cadhalpun
173053a125 hls: only seek if there is an offset
If there is no #EXT-X-BYTERANGE specified, there is no need to seek.
Seeking fails anyway for rtmp, because this protocol does not support
url_seek.

This fixes CNN.m3u from trac ticket 4797 (i.e. Debian bug #798189).

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f9f0b4c08e7dc2c178ede137af4f64ca84ab2deb)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-12 21:46:54 +02:00
Alexandra Hájková
8118fdf8bb asfdec: add more checks for size left in asf packet buffer
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit c0a49077ea4ff3a0ad30b9e33f1bb06ba9112aaa)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-12 21:46:54 +02:00
Alexandra Hájková
f235f511a0 asfdec: alloc enough space for storing name in asf_read_metadata_obj
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 77cf23668991bfd1fb69339f13e1511b4186b7b3)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-12 21:46:54 +02:00
Michael Niedermayer
7ec05ae969 avformat/avidec: Workaround broken initial frame
Fixes Ticket4851

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3e2ef00394b8079e93835d47c993868229f07502)
2015-10-09 21:15:15 +02:00
wm4
b9841ba98c avformat/hls: fix some cases of HLS streams which require cookies
Broken by commit ba12ba859aabfa7153ba397d869db13acdaba340. This only
happens with HLS streams which use encryption and require preserving
cookies sent by the server.

Fixes trac issue #4846.
(cherry picked from commit 26eb2940079d0ec433cf9b2deae24560707cbcf8)
2015-10-09 21:14:23 +02:00
Przemysław Sobala
635831c087 lavf/img2dec: Fix memory leak
Fixes #4886

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 01dd7e025c246d9001f1a30f4a5d8fa2936d1a5e)
2015-10-09 21:13:49 +02:00
Clément Bœsch
ee1bcd3436 avformat/srtdec: make sure we probe a number
Fixes regression since 7218352e0228028dfa009a3799ec93fd041065f1: WebVTT
files were matching the SRT probing.

(cherry picked from commit 40d9d6de90c3652f4c468ab14976c7faf5e40c07)
2015-10-09 10:56:31 +02:00
wm4
eca7b0dcce avformat/vobsub: compare correct packet stream IDs
The stream ID is essentially an arbitrary number defined by the .idx
file headers. They have to match the IDs in the .sub stream. The vobsub
demuxer assumed the IDs would just start from 0, increassing by 1 for
each stream. This is not correct. In the sample I had, the IDs were
starting from 1, leading to no subtitles being displayed at all.

Fix this by using the correct stream ID.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a47ad06baf6c0db6d47a5531d6d4ee0511f44eac)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 15:21:45 +02:00
Clément Bœsch
64b659673a avformat/srtdec: more lenient first line probing
Fixes Ticket #4898
(cherry picked from commit 7218352e0228028dfa009a3799ec93fd041065f1)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 15:21:39 +02:00
Clément Bœsch
1d9d300d65 avformat/srtdec: fix number check for the first character
(cherry picked from commit d161a2a72b083c51ec8fad33a29283703f5fd0cc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 15:21:24 +02:00
Andrey Utkin
6dcd2ebd34 avformat/httpauth: Add space after commas in HTTP/RTSP auth header
This fixes access to Grandstream cameras, which return 401 to ffmpeg
otherwise.
VLC sends Authorization: header with spaces between parameters, and it
is known to work with Grandstream devices and broad range of other HTTP
and RTSP servers, so author considers switching to such behaviour safe.
Just for record - RFC 2617 (HTTP Auth) does not specify the need in
spaces, so this is not a bug of FFmpeg.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fdb32838723effb4560a345013387ea37b85ff20)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 13:15:42 +02:00
DHE
83d75c70df libavformat/hlsenc: Use of uninitialized memory unlinking old files
Fixes ticket#4900

Signed-off-by: DHE <git@dehacked.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 76e3f8242d607ac0394b7894196f83f8d02ce5ca)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 13:15:42 +02:00
Simon Thelen
9bbcd1cc7b lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
Not requiring this can end up producing hilariously broken files
together with -c:s copy (e.g. a webvtt file containing binary subtitle data).

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-08 13:15:42 +02:00
Michael Niedermayer
1d42df7292 Add NOA credits 2015-09-08 22:31:44 +02:00
Zhang Rui
8cd24f8fe7 avformat/async: replace strerror with av_err2str
Fixes CID1322337

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 929451c5cba5f05fa3511bc4cec2a8ebd4a41f5d)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-06 11:56:54 +02:00
Michael Niedermayer
4eca1939ef avformat/hls: Check for av_opt_set_dict() failure
Fixes: CID1320426

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-05 14:28:08 +02:00
Carl Eugen Hoyos
da8eb70dc3 lavf/aiffenc: Clarify an error message.
Only one audio stream is allowed in aiff.
2015-09-05 10:53:55 +02:00
Arnaud Bienner
0cdba4ac68 lavf/mxfdec: Support more codecs in mxf_picture_essence_container_uls[].
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-09-05 00:11:14 +02:00
Arnaud Bienner
35ab967f52 lavf/mxf: Support video essence container uls for vc1.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-09-05 00:09:13 +02:00
Arnaud Bienner
fd6b38bed7 lavf/riff: Support fourcc AVd1 for dvvideo.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-09-05 00:09:06 +02:00
Carl Eugen Hoyos
f7361dbcf4 lavc/mxfdec: Support more mxf files with codec_ul.
Fixes decoding for the sample from ticket #4820.
2015-09-04 23:50:34 +02:00
Michael Niedermayer
9ed53d5a8a avformat/mov: Change the type of the r/g/b variables
Fixes integer overflow
Fixes: unknown_unknown_31b_795_cov_1818643045_raybauduc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 22:17:00 +02:00
Stephan Holljes
280d140cb0 lavf/http: Remove superfluous parenthesis.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 20:11:29 +02:00
Stephan Holljes
dd7b486e8e lavf/http: Fix incorrectly placed parenthesis.
The assignment had incorrectly placed parentheses which resulted in ret
always being > 0.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 18:55:49 +02:00
Michael Niedermayer
9f6ca28e32 avformat/concatdec: Check file variable before dereferencing
Fixes CID1322328

Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 18:53:44 +02:00
Michael Niedermayer
fddcd9e570 avformat/file: Fix copy and paste error
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 12:42:40 +02:00
Michael Niedermayer
4cad4bd4ca avformat/hlsenc: Fix memleak of path
Fixes: CID1322343
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 11:28:29 +02:00
Michael Niedermayer
e3d8504fd0 avformat/hlsenc: Initialize vtt_oc to help static analyzers
This is also more robust in case it ever is used

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 11:28:29 +02:00
Michael Niedermayer
879603fa3f avformat/latmenc: Add assert to avoid coverity warning
Fixes CID1322323

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 11:28:29 +02:00
Michael Niedermayer
bd70303ead avformat/swfdec: Check return value of init_get_bits8()
Fixes: CID1322320

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 10:20:29 +02:00
Michael Niedermayer
053e80f6ea avformat/mov: Fix integer overflow in FFABS
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 09:20:57 +02:00
Michael Niedermayer
d1bdaf3fb2 avformat/dump: Fix integer overflow in aspect ratio calculation
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 02:50:41 +02:00
Marton Balint
26a0cd1b4b lavf: add V as a video stream specifier which is not an attached picture
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-09-02 21:35:21 +02:00