Remove WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow killswitch

which launched a while back.

BUG=webrtc:40644399,webrtc:364825888

Change-Id: Ied1d76d8ab2cbb395e09c08f6354d99b4e082cef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367840
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43383}
diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index a11d0c4..8f5a7c7 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -146,9 +146,6 @@
     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 d9093f4..1328015 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -1641,25 +1641,6 @@
 }
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
-       SetCodecPreferencesAudioSendOnlyKillswitch) {
-  field_trials_ = std::make_unique<test::ScopedKeyValueConfig>(
-      "WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow/Disabled/");
-  auto fake_engine = std::make_unique<FakeMediaEngine>();
-  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();
 
@@ -1754,25 +1735,6 @@
 }
 
 TEST_F(PeerConnectionMediaTestUnifiedPlan,
-       SetCodecPreferencesVideoSendOnlyKillswitch) {
-  field_trials_ = std::make_unique<test::ScopedKeyValueConfig>(
-      "WebRTC-SetCodecPreferences-ReceiveOnlyFilterInsteadOfThrow/Disabled/");
-  auto fake_engine = std::make_unique<FakeMediaEngine>();
-  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 18a81c6..c7aaf91 100644
--- a/pc/rtp_transceiver.cc
+++ b/pc/rtp_transceiver.cc
@@ -97,26 +97,11 @@
           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);
-                         });
-            }));
-      }
     }
   }