From 3a5d88b43526f234311f050d6c5117e1d175b663 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 9 Mar 2021 07:22:11 +0800 Subject: [PATCH] DTLS: Disable QueryMTU for openssl, or the packet get fragmented --- trunk/src/app/srs_app_rtc_dtls.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/trunk/src/app/srs_app_rtc_dtls.cpp b/trunk/src/app/srs_app_rtc_dtls.cpp index 0d813132c..bdd3b7a4a 100644 --- a/trunk/src/app/srs_app_rtc_dtls.cpp +++ b/trunk/src/app/srs_app_rtc_dtls.cpp @@ -418,6 +418,11 @@ srs_error_t SrsDtlsImpl::initialize(std::string version) SSL_set_ex_data(dtls, 0, this); SSL_set_info_callback(dtls, ssl_on_info); + // set dtls fragment + // @see https://stackoverflow.com/questions/62413602/openssl-server-packets-get-fragmented-into-270-bytes-per-packet + SSL_set_options(dtls, SSL_OP_NO_QUERY_MTU); + SSL_set_mtu(dtls, kRtpPacketSize); + if ((bio_in = BIO_new(BIO_s_mem())) == NULL) { return srs_error_new(ERROR_OpenSslBIONew, "BIO_new in"); }