diff --git a/experiments/field_trials.py b/experiments/field_trials.py index a11d0c4f45..8f5a7c72f6 100755 --- a/experiments/field_trials.py +++ b/experiments/field_trials.py @@ -146,9 +146,6 @@ ACTIVE_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([ FieldTrial('WebRTC-SetReadyToSendFalseIfSendFail', 361124449, date(2024, 12, 1)), - FieldTrial('WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow', - 40644399, - date(2024, 12, 1)), FieldTrial('WebRTC-SrtpRemoveReceiveStream', 42225949, date(2024, 10, 1)), diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc index d9093f4c4b..13280158d3 100644 --- a/pc/peer_connection_media_unittest.cc +++ b/pc/peer_connection_media_unittest.cc @@ -1640,25 +1640,6 @@ TEST_F(PeerConnectionMediaTestUnifiedPlan, EXPECT_TRUE(CompareCodecs(sender_audio_codecs, codecs)); } -TEST_F(PeerConnectionMediaTestUnifiedPlan, - SetCodecPreferencesAudioSendOnlyKillswitch) { - field_trials_ = std::make_unique( - "WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow/Disabled/"); - auto fake_engine = std::make_unique(); - auto send_codecs = fake_engine->voice().send_codecs(); - send_codecs.push_back(cricket::CreateAudioCodec(send_codecs.back().id + 1, - "send_only_codec", 0, 1)); - fake_engine->SetAudioSendCodecs(send_codecs); - - auto caller = CreatePeerConnectionWithAudio(std::move(fake_engine)); - - auto transceiver = caller->pc()->GetTransceivers().front(); - auto send_capabilities = caller->pc_factory()->GetRtpSenderCapabilities( - cricket::MediaType::MEDIA_TYPE_AUDIO); - - EXPECT_TRUE(transceiver->SetCodecPreferences(send_capabilities.codecs).ok()); -} - TEST_F(PeerConnectionMediaTestUnifiedPlan, SetCodecPreferencesVideoRejectsAudioCodec) { auto caller = CreatePeerConnectionWithVideo(); @@ -1753,25 +1734,6 @@ TEST_F(PeerConnectionMediaTestUnifiedPlan, EXPECT_TRUE(CompareCodecs(sender_video_codecs, codecs)); } -TEST_F(PeerConnectionMediaTestUnifiedPlan, - SetCodecPreferencesVideoSendOnlyKillswitch) { - field_trials_ = std::make_unique( - "WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow/Disabled/"); - auto fake_engine = std::make_unique(); - auto send_codecs = fake_engine->voice().send_codecs(); - send_codecs.push_back( - cricket::CreateVideoCodec(send_codecs.back().id + 1, "send_only_codec")); - fake_engine->SetAudioSendCodecs(send_codecs); - - auto caller = CreatePeerConnectionWithAudio(std::move(fake_engine)); - - auto transceiver = caller->pc()->GetTransceivers().front(); - auto send_capabilities = caller->pc_factory()->GetRtpSenderCapabilities( - cricket::MediaType::MEDIA_TYPE_AUDIO); - - EXPECT_TRUE(transceiver->SetCodecPreferences(send_capabilities.codecs).ok()); -} - TEST_F(PeerConnectionMediaTestUnifiedPlan, SetCodecPreferencesVideoCodecDuplicatesRemoved) { auto caller = CreatePeerConnectionWithVideo(); diff --git a/pc/rtp_transceiver.cc b/pc/rtp_transceiver.cc index 18a81c67b7..c7aaf91968 100644 --- a/pc/rtp_transceiver.cc +++ b/pc/rtp_transceiver.cc @@ -97,26 +97,11 @@ RTCError VerifyCodecPreferences( return codec.MatchesRtpCodec(codec_preference); }); if (!is_recv_codec) { - if (!field_trials.IsDisabled( - "WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow")) { LOG_AND_RETURN_ERROR( RTCErrorType::INVALID_MODIFICATION, std::string( "Invalid codec preferences: invalid codec with name \"") + codec_preference.name + "\"."); - } else { - // Killswitch behavior: filter out any codec not in receive codecs. - codecs.erase(std::remove_if( - codecs.begin(), codecs.end(), - [&recv_codecs](const RtpCodecCapability& codec) { - return codec.IsMediaCodec() && - !absl::c_any_of( - recv_codecs, - [&codec](const cricket::Codec& recv_codec) { - return recv_codec.MatchesRtpCodec(codec); - }); - })); - } } }