From eb9bf411f3a5626738da0fa40c07df3cef8629dd Mon Sep 17 00:00:00 2001 From: Per Kjellander Date: Fri, 10 May 2019 15:27:58 +0200 Subject: [PATCH] Fix problem in WebRTC-Bwe-AlrLimitedBackoff experiment When backing down, the delay based estimator can still use acked bitrate instead of the last set estimate. Original code was reviewed in: https://webrtc-review.googlesource.com/c/src/+/113880 BUG=webrtc:10144 Change-Id: Ia6e2d6d7d05f88f7e51d61b6e37c61a89adccf8a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135950 Reviewed-by: Christoffer Rodbro Commit-Queue: Per Kjellander Cr-Commit-Position: refs/heads/master@{#27912} --- .../congestion_controller/goog_cc/delay_based_bwe.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/congestion_controller/goog_cc/delay_based_bwe.cc b/modules/congestion_controller/goog_cc/delay_based_bwe.cc index 2ec3b857dc..35574db0f3 100644 --- a/modules/congestion_controller/goog_cc/delay_based_bwe.cc +++ b/modules/congestion_controller/goog_cc/delay_based_bwe.cc @@ -178,11 +178,12 @@ DelayBasedBwe::Result DelayBasedBwe::MaybeUpdateEstimate( // Currently overusing the bandwidth. if (delay_detector_->State() == BandwidthUsage::kBwOverusing) { - if (in_alr && alr_limited_backoff_enabled_ && - rate_control_.TimeToReduceFurther(at_time, prev_bitrate_)) { - result.updated = - UpdateEstimate(at_time, prev_bitrate_, &result.target_bitrate); - result.backoff_in_alr = true; + if (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)) { result.updated =