janus: fixed compatibility with Tailscale MTU (#325)

This commit is contained in:
Sergey Radionov 2026-02-13 22:34:52 +07:00 committed by GitHub
parent 5331ae14aa
commit 8c69c77481
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -27,8 +27,13 @@
// Max RTP size for WebRTC is 1200 bytes:
// - https://stackoverflow.com/questions/47635545/why-webrtc-chose-rtp-max-packet-size-to-1200-bytes
// We take this and substract 50 bytes for possible RTP extensions, see sdp.c
#define US_RTP_TOTAL_SIZE (1200 - 50)
// But(!) Tailscale has 1200 MTU. So to fit it required to substract:
// 1. possible RTP extensions (see sdp.c)
// 2. additional SRTP fields (>= 10 bytes)
// 3. UDP header (8 bytes)
// 4. IPv6 header (40 bytes)
// Finally it looks like 100 bytes for all above should be enough
#define US_RTP_TOTAL_SIZE (1200 - 100)
#define US_RTP_HEADER_SIZE 12
#define US_RTP_PAYLOAD_SIZE (US_RTP_TOTAL_SIZE - US_RTP_HEADER_SIZE)