[FFmpeg-devel] [PATCH 00/18] WHIP + TLS + UDP fixes and SChannel DTLS support

Timo Rothenpieler timo at rothenpieler.org
Wed Jul 2 19:56:28 EEST 2025


This was originally just me attempting to add DTLS support to SChannel,
so it can be used with the WHIP protocol. But on the way there, a lot of
random fixes and enhancements accumulated, resulting in this series.

The main new features are DTLS support for SChannel, which also happens
to enable support for listen-mode, which was previous unsupported for
normal TLS as well.

To enable that, udp.c had to be enhanced to allow reporting the address
a packet was received from.
In the process of that I realized that udp.c was clearly not made with
bidirectional communication in mind, so that had to be fixed as well (
The fifo buffer was used by both read and write without any checks,
meaning the two would interfere with each other).

The rest are misc fixes for issues in WHIP and the associated new tls
code I found.

Timo Rothenpieler (18):
  avformat/Makefile: don't hardcode openssl for whip muxer
  avformat/whip: use av_dict_set_int for int
  avformat/whip: don't leak options dict
  avformat/whip: remove redundant WHIP: prefix from all logging
  avformat/whip: fix format string for printing size_t
  avformat/tls: use non protocol specific error message
  avformat/tls: don't use http_proxy for udp sockets
  avformat/tls: move openssl specific init out of generic code
  avformat/udp: don't override 0 localport
  avformat/tls: fix udp init
  avformat/udp: make recv addr of each packet available
  avformat/udp: separate rx and tx fifo
  avformat/udp: add function to set remote address directly
  avformat/tls: remove unused fingerprint option
  avformat/tls: clean up new whip options
  avformat/tls: make passing an external socket universal
  avformat/tls_openssl: use existing context handle
  avformat/tls_schannel: add DTLS support

 configure                  |   6 +-
 libavformat/Makefile       |   2 +-
 libavformat/network.h      |   3 +
 libavformat/tls.c          |  23 +-
 libavformat/tls.h          |  20 +-
 libavformat/tls_openssl.c  |  33 +-
 libavformat/tls_schannel.c | 853 ++++++++++++++++++++++++++++++++++---
 libavformat/udp.c          | 100 +++--
 libavformat/whip.c         | 167 ++++----
 9 files changed, 998 insertions(+), 209 deletions(-)

-- 
2.49.0



More information about the ffmpeg-devel mailing list