diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.cc b/modules/congestion_controller/goog_cc/delay_based_bwe.cc index 750c5c60fb..84cbcf58d4 100644 --- a/modules/congestion_controller/goog_cc/delay_based_bwe.cc +++ b/modules/congestion_controller/goog_cc/delay_based_bwe.cc @@ -59,8 +59,7 @@ DelayBasedBwe::Result::Result() : updated(false), probe(false), target_bitrate(DataRate::Zero()), - recovered_from_overuse(false), - backoff_in_alr(false) {} + recovered_from_overuse(false) {} DelayBasedBwe::DelayBasedBwe(const FieldTrialsView* key_value_config, RtcEventLog* event_log, @@ -80,15 +79,10 @@ DelayBasedBwe::DelayBasedBwe(const FieldTrialsView* key_value_config, uma_recorded_(false), rate_control_(key_value_config, /*send_side=*/true), prev_bitrate_(DataRate::Zero()), - has_once_detected_overuse_(false), - prev_state_(BandwidthUsage::kBwNormal), - alr_limited_backoff_enabled_(absl::StartsWith( - key_value_config->Lookup("WebRTC-Bwe-AlrLimitedBackoff"), - "Enabled")) { + prev_state_(BandwidthUsage::kBwNormal) { RTC_LOG(LS_INFO) << "Initialized DelayBasedBwe with separate audio overuse detection" - << separate_audio_.Parser()->Encode() << " and alr limited backoff " - << (alr_limited_backoff_enabled_ ? "enabled" : "disabled"); + << separate_audio_.Parser()->Encode(); } DelayBasedBwe::~DelayBasedBwe() {} @@ -217,14 +211,8 @@ DelayBasedBwe::Result DelayBasedBwe::MaybeUpdateEstimate( // Currently overusing the bandwidth. if (active_delay_detector_->State() == BandwidthUsage::kBwOverusing) { - if (has_once_detected_overuse_ && in_alr && alr_limited_backoff_enabled_) { - if (rate_control_.TimeToReduceFurther(at_time, prev_bitrate_)) { - result.updated = - UpdateEstimate(at_time, prev_bitrate_, &result.target_bitrate); - result.backoff_in_alr = true; - } - } else if (acked_bitrate && - rate_control_.TimeToReduceFurther(at_time, *acked_bitrate)) { + if (acked_bitrate && + rate_control_.TimeToReduceFurther(at_time, *acked_bitrate)) { result.updated = UpdateEstimate(at_time, acked_bitrate, &result.target_bitrate); } else if (!acked_bitrate && rate_control_.ValidEstimate() && @@ -238,7 +226,6 @@ DelayBasedBwe::Result DelayBasedBwe::MaybeUpdateEstimate( result.probe = false; result.target_bitrate = rate_control_.LatestEstimate(); } - has_once_detected_overuse_ = true; } else { if (probe_bitrate) { result.probe = true; @@ -315,8 +302,4 @@ TimeDelta DelayBasedBwe::GetExpectedBwePeriod() const { return rate_control_.GetExpectedBandwidthPeriod(); } -void DelayBasedBwe::SetAlrLimitedBackoffExperiment(bool enabled) { - alr_limited_backoff_enabled_ = enabled; -} - } // namespace webrtc diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.h b/modules/congestion_controller/goog_cc/delay_based_bwe.h index dd4f7d84a4..21dff35735 100644 --- a/modules/congestion_controller/goog_cc/delay_based_bwe.h +++ b/modules/congestion_controller/goog_cc/delay_based_bwe.h @@ -55,7 +55,6 @@ class DelayBasedBwe { bool probe; DataRate target_bitrate = DataRate::Zero(); bool recovered_from_overuse; - bool backoff_in_alr; BandwidthUsage delay_detector_state; }; @@ -80,7 +79,6 @@ class DelayBasedBwe { void SetStartBitrate(DataRate start_bitrate); void SetMinBitrate(DataRate min_bitrate); TimeDelta GetExpectedBwePeriod() const; - void SetAlrLimitedBackoffExperiment(bool enabled); DataRate TriggerOveruse(Timestamp at_time, absl::optional link_capacity); DataRate last_estimate() const { return prev_bitrate_; } @@ -126,9 +124,7 @@ class DelayBasedBwe { bool uma_recorded_; AimdRateControl rate_control_; DataRate prev_bitrate_; - bool has_once_detected_overuse_; BandwidthUsage prev_state_; - bool alr_limited_backoff_enabled_; }; } // namespace webrtc 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 1a2932794a..bce192966a 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc @@ -540,7 +540,6 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback( NetworkControlUpdate update; bool recovered_from_overuse = false; - bool backoff_in_alr = false; DelayBasedBwe::Result result; result = delay_based_bwe_->IncomingPacketFeedbackVector( @@ -562,18 +561,12 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback( bandwidth_estimation_->UpdateLossBasedEstimator(report, result.delay_detector_state); recovered_from_overuse = result.recovered_from_overuse; - backoff_in_alr = result.backoff_in_alr; if (recovered_from_overuse) { probe_controller_->SetAlrStartTimeMs(alr_start_time); auto probes = probe_controller_->RequestProbe(report.feedback_time.ms()); update.probe_cluster_configs.insert(update.probe_cluster_configs.end(), probes.begin(), probes.end()); - } else if (backoff_in_alr) { - // If we just backed off during ALR, request a new probe. - auto probes = probe_controller_->RequestProbe(report.feedback_time.ms()); - update.probe_cluster_configs.insert(update.probe_cluster_configs.end(), - probes.begin(), probes.end()); } // No valid RTT could be because send-side BWE isn't used, in which case