Commit graph

26583 commits

Author SHA1 Message Date
Timo Rothenpieler
9b6638e125 avformat/tls_schannel: fix non-blocking write breaking TLS sessions 2025-07-11 17:49:58 +02:00
Timo Rothenpieler
9cd86c431b avformat/tls_schannel: add option to load server certificate from store 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
90fa9636ef avformat/tls_schannel: add DTLS support 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
6af099522e avformat/tls: make passing an external socket universal 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
2604c86c1f avformat/udp: add function to set remote address directly 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
585cae13fa avformat/udp: separate rx and tx fifo 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
af04a27893 avformat/udp: make recv addr of each packet available 2025-07-11 17:49:57 +02:00
Timo Rothenpieler
2c7e117fe0 avformat/tls: move whip specific init out of generic tls code 2025-07-11 17:49:57 +02:00
Marvin Scholz
7c91ae9419 avformat/rtsp: check copy_tls_opts_dict
Properly check av_dict_set return values and propagate them to
the caller so they can be handled.
2025-07-11 16:32:05 +02:00
Marvin Scholz
c4e8ac3d0e avformat/rtsp: use av_unreachable 2025-07-11 16:32:05 +02:00
Marvin Scholz
c425951c05 avformat/rtsp: fix misleading indentation 2025-07-11 16:32:05 +02:00
Kacper Michajłow
3334bdc6e7
avformat/scd: ensure SCD_MIN_HEADER_SIZE bytes are read
Instead of accessing unintialized data when input is shorter than
expected size.

Fixes use of uninitialized value in MSAN build.
Found by OSS-Fuzz.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-11 01:23:58 +02:00
Marvin Scholz
82aeee3c19 avformat/rtsp: fix leak of options dict on error
Fix CID 1655306

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
2025-07-10 13:16:08 +02:00
Marvin Scholz
0dedef1557 avformat/tls: rename accidentally changed options
These were accidentally renamed back to the old names in
ba9817df9d

Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-08 00:16:21 +02:00
Dawid Kozinski
219f234e07 avformat/mov: add support for APV streams
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2025-07-07 13:37:24 -03:00
Marvin Scholz
d2828ab284 avformat: rtsp: export AV_PKT_DATA_RTCP_SR 2025-07-07 16:33:48 +02:00
Marvin Scholz
74aa710879 lavf: add and use AVRTCPSenderReport struct
This will be used in a future commit to expose the SR as side-data.
2025-07-07 16:14:02 +02:00
Marvin Scholz
e0abe0a02a lavf/rtpdec: fix RTCP SR packet length check
The minimum valid packet length is 28, given that the length includes
the packet header.

This didn't cause any issues so far as the code did not care about the
last two fields in the SR section, but will be relevant in a future
commit.
2025-07-07 16:14:02 +02:00
Marvin Scholz
019ca5f013 avformat/tls_openssl: use SSL_CTX_set_min_proto_version
Using SSL_CTX_set_options to disallow specific versions is
discouraged by the documentation, which recommends to use
SSL_CTX_set_min_proto_version instead.
2025-07-07 01:52:47 +02:00
Marvin Scholz
fb38d8759b avformat/tls_openssl: use TLS_[client|server]_method
SSLv23_*_method was just a define for these anyway since OpenSSL 1.1.0
and the old functions are deprecated.
2025-07-07 01:52:47 +02:00
Marvin Scholz
aaffa9bc72 avformat/tls_openssl: remove unnecessary checks
Calling av_free with NULL is a no-op so this check is not needed.
2025-07-07 01:52:46 +02:00
Marvin Scholz
3abc8d507b avformat/tls_openssl: remove leftover comment 2025-07-07 01:52:46 +02:00
Marvin Scholz
816dad231f avformat/tls_openssl: properly get new BIO index
As noted in the OpenSSL documentation, BIO_get_new_index must be
used to get a new BIO index. This is ORd with the proper type flag
BIO_TYPE_SOURCE_SINK.
2025-07-07 01:52:46 +02:00
Marvin Scholz
1702becd64 avformat/tls_openssl: remove now unnecessary define
This was used previously when multiple OpenSSL versions were supported
that required this to be handled differently.
2025-07-07 01:52:46 +02:00
Marvin Scholz
f0913b3f16 avformat: tls: drop support for OpenSSL < 1.1.0 2025-07-07 01:52:46 +02:00
Daniel N Pettersson
e1ef33d361 avformat/rtsp: add TLS options
Add TLS options to RTSP for when TLS is used for the lower protocol.

Signed-off-by: Marvin Scholz <epirat07@gmail.com>
Co-authored-by: Marvin Scholz <epirat07@gmail.com>
2025-07-07 01:45:10 +02:00
Marvin Scholz
ba9817df9d avformat/tls: move common client options into their own define
Used in a future commit to not duplicate options.
2025-07-07 01:45:07 +02:00
Ken McGaugh
30043cc167
avformat/mov: allowing custom udta atoms to pass through their values correctly when export_all option specified.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-05 21:05:56 +02:00
Peter Ross
0fe9f25e76 avcodec/adpcm: Sanyo LD-ADPCM decoder 2025-07-04 17:07:53 +10:00
Lidong Yan
e68599f551
avformat/rtpdec_asf: fix leak in ff_wms_parse_sdp_a_line()
In ff_wms_parse_sdp_a_line(), it allocates memory in buf, but doesn't
free buf when avformat_alloc_context() failed. Add av_free(buf) before
return to prevent from leak.

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-03 23:05:27 +02:00
Lidong Yan
7ed5a7094f
avformat/rtpdec_latm: fix leak in parse_fmtp_config()
av_mallocz() allocates memory in config, but we forget to free it
if init_get_bits() failed. Replace return ret with goto end.

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-03 23:04:57 +02:00
Timo Rothenpieler
ba984355fe avformat/whip: fix format string for printing size_t 2025-07-03 22:51:15 +02:00
Timo Rothenpieler
3f7e0fddee avformat/tls: clean up new whip options 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
4a4a566d6e avformat/tls: remove unused fingerprint option 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
043d3fef8a avformat/tls_openssl: use existing context handle 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
2e72924ad1 avformat/tls: fix udp init 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
23c70e3740 avformat/udp: don't override 0 localport 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
492aef2d94 avformat/tls: don't use http_proxy for udp sockets 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
311742eb5a avformat/tls: use non protocol specific error message 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
058b226313 avformat/whip: remove redundant WHIP: prefix from all logging 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
b92130293e avformat/whip: don't leak options dict 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
8f3ecc9db0 avformat/whip: use av_dict_set_int for int 2025-07-03 22:18:10 +02:00
Timo Rothenpieler
cdc03240fe avformat/Makefile: don't hardcode openssl for whip muxer 2025-07-03 22:18:10 +02:00
James Almer
2122f04496 avformat/dump: add support for 3D Reference Displays Information side data
Signed-off-by: James Almer <jamrial@gmail.com>
2025-07-01 22:46:22 +02:00
Dawid Kozinski
6e8bd5dd25 avformat/apvdec: add framerate option
Signed-off-by: James Almer <jamrial@gmail.com>
2025-06-27 22:32:51 -03:00
Pavel Koshevoy
59a6660625 avformat/demux: Fix segfault due to avcodec_open2 failure
Fixes 'ffprobe 1_poc.mp4' segfault introduced with
commit 0021484d05

codec_close should not assume that the codec_id did not change.
2025-06-27 19:31:26 -06:00
Steven Liu
f8a9d9473b avformat/whip: check the exchange sdp url is start with http
Make sure the WHIP protocol performs the SDP offer/answer
exchange with the WebRTC peer over HTTP.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Reviewed-by: Jack Lau <jacklau1222@qq.com>
2025-06-26 22:20:07 +02:00
Steven Liu
87808e38a8 avformat/whip: Remove unnecessary pkt checks
h264_annexb_insert_sps_pps (called after write_packet)
reorganizes PPS, SPS, and IDR packets in H.264 streams.
Since write_packet already validates pkt,
redundant null checks in h264_annexb_insert_sps_pps can be removed.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Reviewed-by: Marvin Scholz <epirat07@gmail.com>
2025-06-26 21:46:18 +02:00
James Almer
1abc25cd23 avformat/iamf_parser: remove unreachable code
expanded_loudspeaker_layout is only present and read on the first layer.

Fixes Coverity issue #1655173.

Signed-off-by: James Almer <jamrial@gmail.com>
2025-06-26 16:33:04 -03:00
Marvin Scholz
f744584f71 avformat/tee: fix multiple bsfs in tee
Since 155508c6e9 specifying multiple
bsfs for different streams was broken:

"[bsfs/a=h264_metadata:bsfs/v=h264_metadata]out.mp4|..."

This incorrectly only parsed the first bsfs specification. The reason
for this is that the dictionary is modified in the iterator, hence
invalidating the iterator. The simplest fix for this is to simply
iterate from the beginning in each loop given that the previous entry
is removed.
2025-06-26 17:35:46 +02:00