[FFmpeg-devel] [PATCH v2 0/8] WHIP + TLS + UDP fixes and SChannel DTLS support

Timo Rothenpieler timo at rothenpieler.org
Sun Jul 6 21:36:21 EEST 2025


Second version of the series, with a bunch of the more trivial already
merged it reduced in size a bit.
Remaining patches have been revised after comments, and some further fixes
have been added.

Original Cover-Letter was:

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 (8):
  avformat/tls: move whip specific init out of generic tls code
  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: make passing an external socket universal
  avformat/tls_schannel: add DTLS support
  avformat/tls_schannel: add option to load server certificate from
    store
  avformat/tls_schannel: fix non-blocking write breaking TLS sessions

 configure                  |    6 +-
 libavformat/network.h      |    3 +
 libavformat/tls.c          |    9 -
 libavformat/tls.h          |   11 +-
 libavformat/tls_openssl.c  |   26 +-
 libavformat/tls_schannel.c | 1025 ++++++++++++++++++++++++++++++++----
 libavformat/udp.c          |   98 +++-
 libavformat/whip.c         |    9 +-
 8 files changed, 1044 insertions(+), 143 deletions(-)

-- 
2.49.0



More information about the ffmpeg-devel mailing list