Cleanup unused field trial WebRTC-Bwe-PaceAtMaxOfBweAndLowerLinkCapacity
Bug: webrtc:42220543
Change-Id: I7c4551fbdf68e52391c7ba02ca73c216ec6c5137
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/385160
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44333}
diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index 470a12a..3ca7029 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -562,9 +562,6 @@
FieldTrial('WebRTC-Bwe-NoFeedbackReset',
42234928,
date(2024, 4, 1)),
- FieldTrial('WebRTC-Bwe-PaceAtMaxOfBweAndLowerLinkCapacity',
- NO_BUG,
- date(2024, 4, 1)),
FieldTrial('WebRTC-Bwe-ProbingBehavior',
42220440,
date(2024, 4, 1)),
@@ -899,7 +896,7 @@
]) # yapf: disable
POLICY_EXEMPT_FIELD_TRIALS_DIGEST: str = \
- '936929707bc1d3db75b6702394ca3b69ef328410'
+ 'e10a1af33d0a4cf81a6dc87d963b82cf6092ada3'
REGISTERED_FIELD_TRIALS: FrozenSet[FieldTrial] = ACTIVE_FIELD_TRIALS.union(
POLICY_EXEMPT_FIELD_TRIALS)
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
index 11f5f58..a50a9b6 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
@@ -105,8 +105,6 @@
!env_.field_trials().IsDisabled(
"WebRTC-Bwe-LimitProbesLowerThanThroughputEstimate")),
rate_control_settings_(env_.field_trials()),
- pace_at_max_of_bwe_and_lower_link_capacity_(env_.field_trials().IsEnabled(
- "WebRTC-Bwe-PaceAtMaxOfBweAndLowerLinkCapacity")),
limit_pacingfactor_by_upper_link_capacity_estimate_(
env_.field_trials().IsEnabled(
"WebRTC-Bwe-LimitPacingFactorByUpperLinkCapacityEstimate")),
@@ -711,18 +709,10 @@
PacerConfig GoogCcNetworkController::GetPacingRates(Timestamp at_time) const {
// Pacing rate is based on target rate before congestion window pushback,
// because we don't want to build queues in the pacer when pushback occurs.
- DataRate pacing_rate = DataRate::Zero();
- if (pace_at_max_of_bwe_and_lower_link_capacity_ && estimate_ &&
- !bandwidth_estimation_->PaceAtLossBasedEstimate()) {
- pacing_rate =
- std::max({min_total_allocated_bitrate_, estimate_->link_capacity_lower,
- last_loss_based_target_rate_}) *
- pacing_factor_;
- } else {
- pacing_rate =
- std::max(min_total_allocated_bitrate_, last_loss_based_target_rate_) *
- pacing_factor_;
- }
+ DataRate pacing_rate =
+ std::max(min_total_allocated_bitrate_, last_loss_based_target_rate_) *
+ pacing_factor_;
+
if (limit_pacingfactor_by_upper_link_capacity_estimate_ && estimate_ &&
estimate_->link_capacity_upper.IsFinite() &&
pacing_rate > estimate_->link_capacity_upper) {
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.h b/modules/congestion_controller/goog_cc/goog_cc_network_control.h
index 7e7fe07..46d1cab 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.h
@@ -93,7 +93,6 @@
const bool ignore_probes_lower_than_network_estimate_;
const bool limit_probes_lower_than_throughput_estimate_;
const RateControlSettings rate_control_settings_;
- const bool pace_at_max_of_bwe_and_lower_link_capacity_;
const bool limit_pacingfactor_by_upper_link_capacity_estimate_;
const std::unique_ptr<ProbeController> probe_controller_;
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
index e9e4568..abe9a9b 100644
--- a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
+++ b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
@@ -438,58 +438,6 @@
EXPECT_LT(*target_bitrate_after_delay, *target_bitrate_before_delay);
}
-TEST(GoogCcNetworkControllerTest, PaceAtMaxOfLowerLinkCapacityAndBwe) {
- ScopedFieldTrials trial(
- "WebRTC-Bwe-PaceAtMaxOfBweAndLowerLinkCapacity/Enabled/");
- NetworkControllerTestFixture fixture;
- std::unique_ptr<NetworkControllerInterface> controller =
- fixture.CreateController();
- Timestamp current_time = Timestamp::Millis(123);
- NetworkControlUpdate update = controller->OnNetworkAvailability(
- {.at_time = current_time, .network_available = true});
- update = controller->OnProcessInterval({.at_time = current_time});
- current_time += TimeDelta::Millis(100);
- NetworkStateEstimate network_estimate = {.link_capacity_lower =
- 10 * kInitialBitrate};
- update = controller->OnNetworkStateEstimate(network_estimate);
- // OnNetworkStateEstimate does not trigger processing a new estimate. So add a
- // dummy loss report to trigger a BWE update in the next process interval.
- TransportLossReport loss_report;
- loss_report.start_time = current_time;
- loss_report.end_time = current_time;
- loss_report.receive_time = current_time;
- loss_report.packets_received_delta = 50;
- loss_report.packets_lost_delta = 1;
- update = controller->OnTransportLossReport(loss_report);
- update = controller->OnProcessInterval({.at_time = current_time});
- ASSERT_TRUE(update.pacer_config);
- ASSERT_TRUE(update.target_rate);
- ASSERT_LT(update.target_rate->target_rate,
- network_estimate.link_capacity_lower);
- EXPECT_EQ(update.pacer_config->data_rate().kbps(),
- network_estimate.link_capacity_lower.kbps() * kDefaultPacingRate);
-
- current_time += TimeDelta::Millis(100);
- // Set a low link capacity estimate and verify that pacing rate is set
- // relative to loss based/delay based estimate.
- network_estimate = {.link_capacity_lower = 0.5 * kInitialBitrate};
- update = controller->OnNetworkStateEstimate(network_estimate);
- // Again, we need to inject a dummy loss report to trigger an update of the
- // BWE in the next process interval.
- loss_report.start_time = current_time;
- loss_report.end_time = current_time;
- loss_report.receive_time = current_time;
- loss_report.packets_received_delta = 50;
- loss_report.packets_lost_delta = 0;
- update = controller->OnTransportLossReport(loss_report);
- update = controller->OnProcessInterval({.at_time = current_time});
- ASSERT_TRUE(update.target_rate);
- ASSERT_GT(update.target_rate->target_rate,
- network_estimate.link_capacity_lower);
- EXPECT_EQ(update.pacer_config->data_rate().kbps(),
- update.target_rate->target_rate.kbps() * kDefaultPacingRate);
-}
-
TEST(GoogCcNetworkControllerTest, LimitPacingFactorToUpperLinkCapacity) {
ScopedFieldTrials trial(
"WebRTC-Bwe-LimitPacingFactorByUpperLinkCapacityEstimate/Enabled/");