Clean up expreiment WebRTC-Bwe-NewInterArrivalDelta

The experiment has been per default enabled since
https://webrtc.googlesource.com/src/+/62b340545f80baaa449c2159a8e44052c74116c9
submitted 20210914.

Bug: webrtc:12269
Change-Id: I730b603f4d0e382758fd4a6df6ccef9d8b76ea82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246105
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35683}
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.cc b/modules/congestion_controller/goog_cc/delay_based_bwe.cc
index 4c5bdb6..2ae5441 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe.cc
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe.cc
@@ -32,21 +32,8 @@
 namespace webrtc {
 namespace {
 constexpr TimeDelta kStreamTimeOut = TimeDelta::Seconds(2);
-
-// Used with field trial "WebRTC-Bwe-NewInterArrivalDelta/Enabled/
 constexpr TimeDelta kSendTimeGroupLength = TimeDelta::Millis(5);
 
-// Used unless field trial "WebRTC-Bwe-NewInterArrivalDelta/Enabled/"
-constexpr int kTimestampGroupLengthMs = 5;
-constexpr int kAbsSendTimeFraction = 18;
-constexpr int kAbsSendTimeInterArrivalUpshift = 8;
-constexpr int kInterArrivalShift =
-    kAbsSendTimeFraction + kAbsSendTimeInterArrivalUpshift;
-constexpr int kTimestampGroupTicks =
-    (kTimestampGroupLengthMs << kInterArrivalShift) / 1000;
-constexpr double kTimestampToMs =
-    1000.0 / static_cast<double>(1 << kInterArrivalShift);
-
 // This ssrc is used to fulfill the current API but will be removed
 // after the API has been changed.
 constexpr uint32_t kFixedSsrc = 0;
@@ -95,9 +82,6 @@
       prev_bitrate_(DataRate::Zero()),
       has_once_detected_overuse_(false),
       prev_state_(BandwidthUsage::kBwNormal),
-      use_new_inter_arrival_delta_(!absl::StartsWith(
-          key_value_config->Lookup("WebRTC-Bwe-NewInterArrivalDelta"),
-          "Disabled")),
       alr_limited_backoff_enabled_(absl::StartsWith(
           key_value_config->Lookup("WebRTC-Bwe-AlrLimitedBackoff"),
           "Enabled")) {
@@ -162,17 +146,11 @@
   // Reset if the stream has timed out.
   if (last_seen_packet_.IsInfinite() ||
       at_time - last_seen_packet_ > kStreamTimeOut) {
-    if (use_new_inter_arrival_delta_) {
-      video_inter_arrival_delta_ =
-          std::make_unique<InterArrivalDelta>(kSendTimeGroupLength);
-      audio_inter_arrival_delta_ =
-          std::make_unique<InterArrivalDelta>(kSendTimeGroupLength);
-    } else {
-      video_inter_arrival_ = std::make_unique<InterArrival>(
-          kTimestampGroupTicks, kTimestampToMs, true);
-      audio_inter_arrival_ = std::make_unique<InterArrival>(
-          kTimestampGroupTicks, kTimestampToMs, true);
-    }
+    video_inter_arrival_delta_ =
+        std::make_unique<InterArrivalDelta>(kSendTimeGroupLength);
+    audio_inter_arrival_delta_ =
+        std::make_unique<InterArrivalDelta>(kSendTimeGroupLength);
+
     video_delay_detector_.reset(
         new TrendlineEstimator(key_value_config_, network_state_predictor_));
     audio_delay_detector_.reset(
@@ -203,7 +181,6 @@
   }
   DataSize packet_size = packet_feedback.sent_packet.size;
 
-  if (use_new_inter_arrival_delta_) {
     TimeDelta send_delta = TimeDelta::Zero();
     TimeDelta recv_delta = TimeDelta::Zero();
     int size_delta = 0;
@@ -221,39 +198,6 @@
         packet_feedback.sent_packet.send_time.ms(),
         packet_feedback.receive_time.ms(), packet_size.bytes(),
         calculated_deltas);
-  } else {
-    InterArrival* inter_arrival_for_packet =
-        (separate_audio_.enabled && packet_feedback.sent_packet.audio)
-            ? video_inter_arrival_.get()
-            : audio_inter_arrival_.get();
-
-    uint32_t send_time_24bits =
-        static_cast<uint32_t>(
-            ((static_cast<uint64_t>(packet_feedback.sent_packet.send_time.ms())
-              << kAbsSendTimeFraction) +
-             500) /
-            1000) &
-        0x00FFFFFF;
-    // Shift up send time to use the full 32 bits that inter_arrival works with,
-    // so wrapping works properly.
-    uint32_t timestamp = send_time_24bits << kAbsSendTimeInterArrivalUpshift;
-
-    uint32_t timestamp_delta = 0;
-    int64_t recv_delta_ms = 0;
-    int size_delta = 0;
-
-    bool calculated_deltas = inter_arrival_for_packet->ComputeDeltas(
-        timestamp, packet_feedback.receive_time.ms(), at_time.ms(),
-        packet_size.bytes(), &timestamp_delta, &recv_delta_ms, &size_delta);
-    double send_delta_ms =
-        (1000.0 * timestamp_delta) / (1 << kInterArrivalShift);
-
-    delay_detector_for_packet->Update(
-        recv_delta_ms, send_delta_ms,
-        packet_feedback.sent_packet.send_time.ms(),
-        packet_feedback.receive_time.ms(), packet_size.bytes(),
-        calculated_deltas);
-  }
 }
 
 DataRate DelayBasedBwe::TriggerOveruse(Timestamp at_time,
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.h b/modules/congestion_controller/goog_cc/delay_based_bwe.h
index 85ce6ea..7823f77 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe.h
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe.h
@@ -127,7 +127,6 @@
   DataRate prev_bitrate_;
   bool has_once_detected_overuse_;
   BandwidthUsage prev_state_;
-  const bool use_new_inter_arrival_delta_;
   bool alr_limited_backoff_enabled_;
 };
 
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
index 0cc6068..71b7ee7 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
@@ -28,16 +28,7 @@
 constexpr float kTargetUtilizationFraction = 0.95f;
 }  // namespace
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    DelayBasedBweTest,
-    ::testing::Values("", "WebRTC-Bwe-NewInterArrivalDelta/Disabled/"),
-    [](::testing::TestParamInfo<std::string> info) {
-      return info.param.empty() ? "SafetypedInterArrival"
-                                : "LegacyInterArrival";
-    });
-
-TEST_P(DelayBasedBweTest, ProbeDetection) {
+TEST_F(DelayBasedBweTest, ProbeDetection) {
   int64_t now_ms = clock_.TimeInMilliseconds();
 
   // First burst sent at 8 * 1000 / 10 = 800 kbps.
@@ -59,7 +50,7 @@
   EXPECT_GT(bitrate_observer_.latest_bitrate(), 1500000u);
 }
 
-TEST_P(DelayBasedBweTest, ProbeDetectionNonPacedPackets) {
+TEST_F(DelayBasedBweTest, ProbeDetectionNonPacedPackets) {
   int64_t now_ms = clock_.TimeInMilliseconds();
   // First burst sent at 8 * 1000 / 10 = 800 kbps, but with every other packet
   // not being paced which could mess things up.
@@ -76,7 +67,7 @@
   EXPECT_GT(bitrate_observer_.latest_bitrate(), 800000u);
 }
 
-TEST_P(DelayBasedBweTest, ProbeDetectionFasterArrival) {
+TEST_F(DelayBasedBweTest, ProbeDetectionFasterArrival) {
   int64_t now_ms = clock_.TimeInMilliseconds();
   // First burst sent at 8 * 1000 / 10 = 800 kbps.
   // Arriving at 8 * 1000 / 5 = 1600 kbps.
@@ -91,7 +82,7 @@
   EXPECT_FALSE(bitrate_observer_.updated());
 }
 
-TEST_P(DelayBasedBweTest, ProbeDetectionSlowerArrival) {
+TEST_F(DelayBasedBweTest, ProbeDetectionSlowerArrival) {
   int64_t now_ms = clock_.TimeInMilliseconds();
   // First burst sent at 8 * 1000 / 5 = 1600 kbps.
   // Arriving at 8 * 1000 / 7 = 1142 kbps.
@@ -110,7 +101,7 @@
               kTargetUtilizationFraction * 1140000u, 10000u);
 }
 
-TEST_P(DelayBasedBweTest, ProbeDetectionSlowerArrivalHighBitrate) {
+TEST_F(DelayBasedBweTest, ProbeDetectionSlowerArrivalHighBitrate) {
   int64_t now_ms = clock_.TimeInMilliseconds();
   // Burst sent at 8 * 1000 / 1 = 8000 kbps.
   // Arriving at 8 * 1000 / 2 = 4000 kbps.
@@ -129,7 +120,7 @@
               kTargetUtilizationFraction * 4000000u, 10000u);
 }
 
-TEST_P(DelayBasedBweTest, GetExpectedBwePeriodMs) {
+TEST_F(DelayBasedBweTest, GetExpectedBwePeriodMs) {
   auto default_interval = bitrate_estimator_->GetExpectedBwePeriod();
   EXPECT_GT(default_interval.ms(), 0);
   CapacityDropTestHelper(1, true, 333, 0);
@@ -138,45 +129,45 @@
   EXPECT_NE(interval.ms(), default_interval.ms());
 }
 
-TEST_P(DelayBasedBweTest, InitialBehavior) {
+TEST_F(DelayBasedBweTest, InitialBehavior) {
   InitialBehaviorTestHelper(730000);
 }
 
-TEST_P(DelayBasedBweTest, RateIncreaseReordering) {
+TEST_F(DelayBasedBweTest, RateIncreaseReordering) {
   RateIncreaseReorderingTestHelper(730000);
 }
-TEST_P(DelayBasedBweTest, RateIncreaseRtpTimestamps) {
+TEST_F(DelayBasedBweTest, RateIncreaseRtpTimestamps) {
   RateIncreaseRtpTimestampsTestHelper(622);
 }
 
-TEST_P(DelayBasedBweTest, CapacityDropOneStream) {
+TEST_F(DelayBasedBweTest, CapacityDropOneStream) {
   CapacityDropTestHelper(1, false, 300, 0);
 }
 
-TEST_P(DelayBasedBweTest, CapacityDropPosOffsetChange) {
+TEST_F(DelayBasedBweTest, CapacityDropPosOffsetChange) {
   CapacityDropTestHelper(1, false, 867, 30000);
 }
 
-TEST_P(DelayBasedBweTest, CapacityDropNegOffsetChange) {
+TEST_F(DelayBasedBweTest, CapacityDropNegOffsetChange) {
   CapacityDropTestHelper(1, false, 933, -30000);
 }
 
-TEST_P(DelayBasedBweTest, CapacityDropOneStreamWrap) {
+TEST_F(DelayBasedBweTest, CapacityDropOneStreamWrap) {
   CapacityDropTestHelper(1, true, 333, 0);
 }
 
-TEST_P(DelayBasedBweTest, TestTimestampGrouping) {
+TEST_F(DelayBasedBweTest, TestTimestampGrouping) {
   TestTimestampGroupingTestHelper();
 }
 
-TEST_P(DelayBasedBweTest, TestShortTimeoutAndWrap) {
+TEST_F(DelayBasedBweTest, TestShortTimeoutAndWrap) {
   // Simulate a client leaving and rejoining the call after 35 seconds. This
   // will make abs send time wrap, so if streams aren't timed out properly
   // the next 30 seconds of packets will be out of order.
   TestWrappingHelper(35);
 }
 
-TEST_P(DelayBasedBweTest, TestLongTimeoutAndWrap) {
+TEST_F(DelayBasedBweTest, TestLongTimeoutAndWrap) {
   // Simulate a client leaving and rejoining the call after some multiple of
   // 64 seconds later. This will cause a zero difference in abs send times due
   // to the wrap, but a big difference in arrival time, if streams aren't
@@ -184,7 +175,7 @@
   TestWrappingHelper(10 * 64);
 }
 
-TEST_P(DelayBasedBweTest, TestInitialOveruse) {
+TEST_F(DelayBasedBweTest, TestInitialOveruse) {
   const DataRate kStartBitrate = DataRate::KilobitsPerSec(300);
   const DataRate kInitialCapacity = DataRate::KilobitsPerSec(200);
   const uint32_t kDummySsrc = 0;
@@ -224,16 +215,15 @@
 }
 
 class DelayBasedBweTestWithBackoffTimeoutExperiment : public DelayBasedBweTest {
+ public:
+  DelayBasedBweTestWithBackoffTimeoutExperiment()
+      : DelayBasedBweTest(
+            "WebRTC-BweAimdRateControlConfig/initial_backoff_interval:200ms/") {
+  }
 };
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    DelayBasedBweTestWithBackoffTimeoutExperiment,
-    ::testing::Values(
-        "WebRTC-BweAimdRateControlConfig/initial_backoff_interval:200ms/"));
-
 // This test subsumes and improves DelayBasedBweTest.TestInitialOveruse above.
-TEST_P(DelayBasedBweTestWithBackoffTimeoutExperiment, TestInitialOveruse) {
+TEST_F(DelayBasedBweTestWithBackoffTimeoutExperiment, TestInitialOveruse) {
   const DataRate kStartBitrate = DataRate::KilobitsPerSec(300);
   const DataRate kInitialCapacity = DataRate::KilobitsPerSec(200);
   const uint32_t kDummySsrc = 0;
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
index 4c72277..3eb0ae3 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
@@ -145,8 +145,11 @@
 }
 }  // namespace test
 
-DelayBasedBweTest::DelayBasedBweTest()
-    : field_trial(std::make_unique<test::ScopedFieldTrials>(GetParam())),
+DelayBasedBweTest::DelayBasedBweTest() : DelayBasedBweTest("") {}
+
+DelayBasedBweTest::DelayBasedBweTest(const std::string& field_trial_string)
+    : field_trial(
+          std::make_unique<test::ScopedFieldTrials>(field_trial_string)),
       clock_(100000000),
       acknowledged_bitrate_estimator_(
           AcknowledgedBitrateEstimatorInterface::Create(&field_trial_config_)),
diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
index 5fb048b..927cf9b 100644
--- a/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+++ b/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
@@ -113,9 +113,10 @@
 };
 }  // namespace test
 
-class DelayBasedBweTest : public ::testing::TestWithParam<std::string> {
+class DelayBasedBweTest : public ::testing::Test {
  public:
   DelayBasedBweTest();
+  explicit DelayBasedBweTest(const std::string& field_trial_string);
   ~DelayBasedBweTest() override;
 
  protected: