From 035e97a447455bdd434b6d775b824d3ee2bb2c8c Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Wed, 16 Feb 2022 13:37:46 +0100 Subject: [PATCH] Make dcSCTP the default SCTP implementation To disable dcSCTP and fallback to usrsctp, you can use the field trial WebRTC-DataChannel-Dcsctp/Disabled/ Bug: chromium:1243702 Change-Id: Ia90b796562245558a61481317bcded437400b045 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251800 Auto-Submit: Florent Castelli Commit-Queue: Florent Castelli Reviewed-by: Harald Alvestrand Commit-Queue: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#36018} --- media/sctp/sctp_transport_factory.cc | 8 ++++---- media/sctp/sctp_transport_factory.h | 2 +- pc/data_channel_integrationtest.cc | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/media/sctp/sctp_transport_factory.cc b/media/sctp/sctp_transport_factory.cc index 5097d423d9..071d7fdb23 100644 --- a/media/sctp/sctp_transport_factory.cc +++ b/media/sctp/sctp_transport_factory.cc @@ -25,11 +25,11 @@ namespace cricket { SctpTransportFactory::SctpTransportFactory(rtc::Thread* network_thread) - : network_thread_(network_thread), use_dcsctp_("Enabled", false) { + : network_thread_(network_thread), use_usrsctp_("Disabled", false) { RTC_UNUSED(network_thread_); #ifdef WEBRTC_HAVE_DCSCTP - webrtc::ParseFieldTrial({&use_dcsctp_}, webrtc::field_trial::FindFullName( - "WebRTC-DataChannel-Dcsctp")); + webrtc::ParseFieldTrial({&use_usrsctp_}, webrtc::field_trial::FindFullName( + "WebRTC-DataChannel-Dcsctp")); #endif } @@ -38,7 +38,7 @@ SctpTransportFactory::CreateSctpTransport( rtc::PacketTransportInternal* transport) { std::unique_ptr result; #ifdef WEBRTC_HAVE_DCSCTP - if (use_dcsctp_.Get()) { + if (!use_usrsctp_.Get()) { result = std::unique_ptr(new webrtc::DcSctpTransport( network_thread_, transport, webrtc::Clock::GetRealTimeClock())); } diff --git a/media/sctp/sctp_transport_factory.h b/media/sctp/sctp_transport_factory.h index ed7c2163d7..9ae246a6a6 100644 --- a/media/sctp/sctp_transport_factory.h +++ b/media/sctp/sctp_transport_factory.h @@ -29,7 +29,7 @@ class SctpTransportFactory : public webrtc::SctpTransportFactoryInterface { private: rtc::Thread* network_thread_; - webrtc::FieldTrialFlag use_dcsctp_; + webrtc::FieldTrialFlag use_usrsctp_; }; } // namespace cricket diff --git a/pc/data_channel_integrationtest.cc b/pc/data_channel_integrationtest.cc index e6c06912f6..c0dbfdd4bf 100644 --- a/pc/data_channel_integrationtest.cc +++ b/pc/data_channel_integrationtest.cc @@ -832,7 +832,7 @@ TEST_P(DataChannelIntegrationTest, EXPECT_GT(202u, callee()->data_observer()->received_message_count()); EXPECT_LE(2u, callee()->data_observer()->received_message_count()); // Then, check that observed behavior (lose some messages) has not changed - if (webrtc::field_trial::IsEnabled("WebRTC-DataChannel-Dcsctp")) { + if (!webrtc::field_trial::IsDisabled("WebRTC-DataChannel-Dcsctp")) { // DcSctp loses all messages. This is correct. EXPECT_EQ(2u, callee()->data_observer()->received_message_count()); } else {