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 <crodbro@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27912}
This commit is contained in:
Per Kjellander
2019-05-10 15:27:58 +02:00
committed by Commit Bot
parent 8da35a60ab
commit eb9bf411f3

View File

@ -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 =