diff --git a/api/ice_transport_interface.h b/api/ice_transport_interface.h
index 2ec41aa..6aae38f 100644
--- a/api/ice_transport_interface.h
+++ b/api/ice_transport_interface.h
@@ -90,18 +90,11 @@
   // best connection to use or ping, and lets the transport decide when and
   // whether to switch.
   //
-  // Which ICE controller is used is determined based on the field trial
-  // "WebRTC-UseActiveIceController" as follows:
+  // Which ICE controller is used is determined as follows:
   //
-  //   1. If the field trial is not enabled
-  //      a. The legacy ICE controller factory is used if one is supplied.
-  //      b. If not, a default ICE controller (BasicIceController) is
-  //      constructed and used.
-  //
-  //   2. If the field trial is enabled
-  //      a. If an active ICE controller factory is supplied, it is used and
+  //   1. If an active ICE controller factory is supplied, it is used and
   //      the legacy ICE controller factory is not used.
-  //      b. If not, a default active ICE controller is used, wrapping over the
+  //   2. If not, a default active ICE controller is used, wrapping over the
   //      supplied or the default legacy ICE controller.
   void set_active_ice_controller_factory(
       cricket::ActiveIceControllerFactoryInterface*
diff --git a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
index 7bdce00..398b0c3 100644
--- a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -102,7 +102,6 @@
   private static final String VIDEO_CODEC_PARAM_START_BITRATE = "x-google-start-bitrate";
   private static final String VIDEO_FLEXFEC_FIELDTRIAL =
       "WebRTC-FlexFEC-03-Advertised/Enabled/WebRTC-FlexFEC-03/Enabled/";
-  private static final String VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL = "WebRTC-IntelVP8/Enabled/";
   private static final String DISABLE_WEBRTC_AGC_FIELDTRIAL =
       "WebRTC-Audio-MinimizeResamplingOnMobile/Enabled/";
   private static final String AUDIO_CODEC_PARAM_BITRATE = "maxaveragebitrate";
@@ -1002,7 +1001,6 @@
       fieldTrials += VIDEO_FLEXFEC_FIELDTRIAL;
       Log.d(TAG, "Enable FlexFEC field trial.");
     }
-    fieldTrials += VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL;
     if (peerConnectionParameters.disableWebRtcAGCAndHPF) {
       fieldTrials += DISABLE_WEBRTC_AGC_FIELDTRIAL;
       Log.d(TAG, "Disable WebRTC AGC field trial.");
diff --git a/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc b/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc
index 70a50d6..60b4db1 100644
--- a/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc
+++ b/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc
@@ -175,8 +175,7 @@
 TEST(AudioNetworkAdaptorImplTest,
      DumpEncoderRuntimeConfigIsCalledOnGetEncoderRuntimeConfig) {
   test::ScopedFieldTrials override_field_trials(
-      "WebRTC-Audio-BitrateAdaptation/Enabled/WebRTC-Audio-FecAdaptation/"
-      "Enabled/");
+      "WebRTC-Audio-FecAdaptation/Enabled/");
   rtc::ScopedFakeClock fake_clock;
   fake_clock.AdvanceTime(TimeDelta::Millis(kClockInitialTimeMs));
   auto states = CreateAudioNetworkAdaptor();
@@ -248,8 +247,7 @@
 
 TEST(AudioNetworkAdaptorImplTest, LogRuntimeConfigOnGetEncoderRuntimeConfig) {
   test::ScopedFieldTrials override_field_trials(
-      "WebRTC-Audio-BitrateAdaptation/Enabled/WebRTC-Audio-FecAdaptation/"
-      "Enabled/");
+      "WebRTC-Audio-FecAdaptation/Enabled/");
   auto states = CreateAudioNetworkAdaptor();
 
   AudioEncoderRuntimeConfig config;
diff --git a/modules/audio_processing/audio_processing_impl_unittest.cc b/modules/audio_processing/audio_processing_impl_unittest.cc
index 7c12a07..9e50f99 100644
--- a/modules/audio_processing/audio_processing_impl_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_unittest.cc
@@ -520,9 +520,6 @@
   apm->ProcessStream(frame.data(), stream_config, stream_config, frame.data());
 }
 
-// Tests that a stream is successfully processed when AGC2 adaptive digital is
-// used and when the field trial
-// `WebRTC-Audio-TransientSuppressorVadMode/Enabled-Default/` is set.
 TEST(AudioProcessingImplTest,
      ProcessWithAgc2AndTransientSuppressorVadModeDefault) {
   webrtc::test::ScopedFieldTrials field_trials(
@@ -553,9 +550,6 @@
   }
 }
 
-// Tests that a stream is successfully processed when AGC2 adaptive digital is
-// used and when the field trial
-// `WebRTC-Audio-TransientSuppressorVadMode/Enabled-RnnVad/` is set.
 TEST(AudioProcessingImplTest,
      ProcessWithAgc2AndTransientSuppressorVadModeRnnVad) {
   webrtc::test::ScopedFieldTrials field_trials(
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index 0e915c5..feeeea3 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -105,12 +105,10 @@
 
 class PeerConnectionIntegrationTest
     : public PeerConnectionIntegrationBaseTest,
-      public ::testing::WithParamInterface<
-          std::tuple<SdpSemantics, std::string>> {
+      public ::testing::WithParamInterface<SdpSemantics> {
  protected:
   PeerConnectionIntegrationTest()
-      : PeerConnectionIntegrationBaseTest(std::get<0>(GetParam()),
-                                          std::get<1>(GetParam())) {}
+      : PeerConnectionIntegrationBaseTest(GetParam()) {}
 };
 
 // Fake clock must be set before threads are started to prevent race on
@@ -3469,21 +3467,15 @@
   EXPECT_EQ(parameters.encodings[0].max_bitrate_bps, 12345);
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    PeerConnectionIntegrationTest,
-    PeerConnectionIntegrationTest,
-    Combine(Values(SdpSemantics::kPlanB_DEPRECATED, SdpSemantics::kUnifiedPlan),
-            Values("WebRTC-FrameBuffer3/arm:FrameBuffer2/",
-                   "WebRTC-FrameBuffer3/arm:FrameBuffer3/",
-                   "WebRTC-FrameBuffer3/arm:SyncDecoding/")));
+INSTANTIATE_TEST_SUITE_P(PeerConnectionIntegrationTest,
+                         PeerConnectionIntegrationTest,
+                         Values(SdpSemantics::kPlanB_DEPRECATED,
+                                SdpSemantics::kUnifiedPlan));
 
-INSTANTIATE_TEST_SUITE_P(
-    PeerConnectionIntegrationTest,
-    PeerConnectionIntegrationTestWithFakeClock,
-    Combine(Values(SdpSemantics::kPlanB_DEPRECATED, SdpSemantics::kUnifiedPlan),
-            Values("WebRTC-FrameBuffer3/arm:FrameBuffer2/",
-                   "WebRTC-FrameBuffer3/arm:FrameBuffer3/",
-                   "WebRTC-FrameBuffer3/arm:SyncDecoding/")));
+INSTANTIATE_TEST_SUITE_P(PeerConnectionIntegrationTest,
+                         PeerConnectionIntegrationTestWithFakeClock,
+                         Values(SdpSemantics::kPlanB_DEPRECATED,
+                                SdpSemantics::kUnifiedPlan));
 
 // Tests that verify interoperability between Plan B and Unified Plan
 // PeerConnections.
diff --git a/pc/slow_peer_connection_integration_test.cc b/pc/slow_peer_connection_integration_test.cc
index b45571e..004b795 100644
--- a/pc/slow_peer_connection_integration_test.cc
+++ b/pc/slow_peer_connection_integration_test.cc
@@ -15,7 +15,6 @@
 
 #include <memory>
 #include <string>
-#include <tuple>
 #include <utility>
 #include <vector>
 
@@ -50,12 +49,10 @@
 
 class PeerConnectionIntegrationTest
     : public PeerConnectionIntegrationBaseTest,
-      public ::testing::WithParamInterface<
-          std::tuple<SdpSemantics, std::string>> {
+      public ::testing::WithParamInterface<SdpSemantics> {
  protected:
   PeerConnectionIntegrationTest()
-      : PeerConnectionIntegrationBaseTest(std::get<0>(GetParam()),
-                                          std::get<1>(GetParam())) {}
+      : PeerConnectionIntegrationBaseTest(GetParam()) {}
 };
 
 // Fake clock must be set before threads are started to prevent race on
@@ -483,13 +480,10 @@
   ASSERT_TRUE(ExpectNewFrames(media_expectations));
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    PeerConnectionIntegrationTest,
-    PeerConnectionIntegrationTest,
-    Combine(Values(SdpSemantics::kPlanB_DEPRECATED, SdpSemantics::kUnifiedPlan),
-            Values("WebRTC-FrameBuffer3/arm:FrameBuffer2/",
-                   "WebRTC-FrameBuffer3/arm:FrameBuffer3/",
-                   "WebRTC-FrameBuffer3/arm:SyncDecoding/")));
+INSTANTIATE_TEST_SUITE_P(PeerConnectionIntegrationTest,
+                         PeerConnectionIntegrationTest,
+                         Values(SdpSemantics::kPlanB_DEPRECATED,
+                                SdpSemantics::kUnifiedPlan));
 
 constexpr uint32_t kFlagsIPv4NoStun = cricket::PORTALLOCATOR_DISABLE_TCP |
                                       cricket::PORTALLOCATOR_DISABLE_STUN |
diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc
index afcb431..331a373 100644
--- a/test/fuzzers/audio_processing_configs_fuzzer.cc
+++ b/test/fuzzers/audio_processing_configs_fuzzer.cc
@@ -29,8 +29,6 @@
 namespace {
 
 const std::string kFieldTrialNames[] = {
-    "WebRTC-Audio-Agc2ForceExtraSaturationMargin",
-    "WebRTC-Audio-Agc2ForceInitialSaturationMargin",
     "WebRTC-Aec3MinErleDuringOnsetsKillSwitch",
     "WebRTC-Aec3ShortHeadroomKillSwitch",
 };
