fix CID: 1426991
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
There is no POSIX error code for EOF - recv() signals EOF by simply
returning 0. But libavformat recently changed its conventions and
requires an explicit AVERROR_EOF, or it might get into an endless retry
loop, consuming 100% CPU while doing nothing.
pts_wrap_bits defaults to 33 (like MPEG), that causes valid
timestamps to be unwrapped and become invalid.
Inspired by a patch by Wu Zhiqiang <mymoeyard@gmail.com>.
Encrypted HLS segments have regular http:// urls, but open_input()
actually prefixes them with crypto+ before calling open_url(), so
they end up using the crypto protocol and not the http protocol.
This means invoking ff_http_do_new_request will fail, so we avoid
calling it in the first place. After the earlier http.c commit,
the failure results in a warning printed to the user. In earlier
versions, the failure would cause a segfault.
Signed-off-by: Aman Gupta <aman@tmm1.net>
Fixes: Out of heap array read
Fixes: 4683/clusterfuzz-testcase-minimized-6152313673613312
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This is required for AV playout from master.m3u8.
Otherwise master.m3u8 lists only video-only and/or audio-only streams.
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Fixes: signed integer overflow: 2 * 1629495328 cannot be represented in type 'int'
Fixes: 4716/clusterfuzz-testcase-minimized-5835915940331520
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes: left shift of negative value -1
Fixes: 4690/clusterfuzz-testcase-minimized-6117482428366848
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes: shift exponent 32 is too large for 32-bit type 'unsigned int'
Fixes: 4688/clusterfuzz-testcase-minimized-6572210748653568
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'c6558e8840fbb2386bf8742e4d68dd6e067d262e':
x264: Support version 153
See
2a111c99a60fdf4fe5eea2b073901630190c6c93
7e60c74329353db28db00552028bc88cd2a52346
Merged-by: James Almer <jamrial@gmail.com>
* commit '2beba58e0e4bda688bf96e12413231607ceafdd4':
mmaldec: Fix compilation after 2fcb0090
This commit is a noop, see 758fbc54fef2f31957b5c5f22e05e5fd9b04f631
Merged-by: James Almer <jamrial@gmail.com>
* commit 'ddea22a684611c1fec9d8b5c70d835e983a9252e':
avconv: Use codec hardware config to configure hwaccels
lavc: Mark all AVHWAccel structures as const
lavc: Delete all fake hwaccels
lavc: Remove register mechanism for hwaccels
lavc: Deprecate av_hwaccel_next() and av_register_hwaccel()
lavc: Use hardware config information in ff_get_format()
webp: Fix alpha initialisation
lavc: Add hardware config metadata for decoders supporting hardware output
lavc: Add codec metadata to indicate hardware support
This commit is a noop, see
24cc0a53e99e281b0ff502e82e7cf857111eca3f
758fbc54fef2f31957b5c5f22e05e5fd9b04f631
9f00fa536938130e3c7ad2640a61795770d419a1
67e81d79ccfc6713c797ddb19a3b8aea476c947b
3536a3efb9fde88d34d526a51b1080247326cd6e
9bd326ac465db2eee47301a1225d55dffd7bfe93
da4e02b1961572c15d7cd6a701d153155f196477
3a71bcc213f223428622ac3750fe1a923f2f3ab4
b0cd14fb1dab4b044f7fe6b53ac635409849de77
Merged-by: James Almer <jamrial@gmail.com>
Does not work. Even emits a warning with some compilers that the
attribute does not work on enums. It's likely that there is way to make
it work, but not worth the trouble.
Some http/1.0 implementations, like python's SimpleHTTPServer, can only support one client connection at a time. Making a second request while the first is still connected leads to a deadlock.
This change enables multiple connections for http/1.1 servers only, which need to support keepalive by default and should have no problem with concurrent requests.
Signed-off-by: Aman Gupta <aman@tmm1.net>
Can be used by the api user to figure out what http features the server supports based on the response received.
Signed-off-by: Aman Gupta <aman@tmm1.net>
This makes do_new_request fail early when dealing with a http/1.0 server, avoiding unnecessary "reconnecting" warnings shown to the user.
Signed-off-by: Aman Gupta <aman@tmm1.net>