From f124572ec0b1d7a2afcc609a97164fc0e577d0cc Mon Sep 17 00:00:00 2001 From: Per K Date: Mon, 20 Nov 2023 09:52:01 +0100 Subject: [PATCH] Per default enable WebRTC-Bwe-EstimateBoundedIncrease/c_upper:true MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This ensure upper link capacity estimate upper limit an increase in delay based estimate, but the delay based estimate is not decreased if link capacity estimate decrease. Bug: webrtc:10498, b/300868877 Change-Id: I87e76e2a869e6f721cc8fe9d422e0194371d4e45 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327801 Reviewed-by: Björn Terelius Commit-Queue: Per Kjellander Cr-Commit-Position: refs/heads/main@{#41196} --- .../aimd_rate_control.h | 2 +- .../aimd_rate_control_unittest.cc | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/remote_bitrate_estimator/aimd_rate_control.h b/modules/remote_bitrate_estimator/aimd_rate_control.h index 97fa490adf..c9edc4f551 100644 --- a/modules/remote_bitrate_estimator/aimd_rate_control.h +++ b/modules/remote_bitrate_estimator/aimd_rate_control.h @@ -108,7 +108,7 @@ class AimdRateControl { // If "Disabled", estimated link capacity is not used as upper bound. FieldTrialFlag disable_estimate_bounded_increase_{"Disabled"}; FieldTrialParameter use_current_estimate_as_min_upper_bound_{"c_upper", - false}; + true}; absl::optional last_decrease_; }; } // namespace webrtc diff --git a/modules/remote_bitrate_estimator/aimd_rate_control_unittest.cc b/modules/remote_bitrate_estimator/aimd_rate_control_unittest.cc index f26afe995c..401e87e310 100644 --- a/modules/remote_bitrate_estimator/aimd_rate_control_unittest.cc +++ b/modules/remote_bitrate_estimator/aimd_rate_control_unittest.cc @@ -208,6 +208,7 @@ TEST(AimdRateControlTest, SetEstimateIncreaseBweInAlr) { TEST(AimdRateControlTest, SetEstimateUpperLimitedByNetworkEstimate) { AimdRateControl aimd_rate_control(ExplicitKeyValueConfig(""), /*send_side=*/true); + aimd_rate_control.SetEstimate(DataRate::BitsPerSec(300'000), kInitialTime); NetworkStateEstimate network_estimate; network_estimate.link_capacity_upper = DataRate::BitsPerSec(400'000); aimd_rate_control.SetNetworkStateEstimate(network_estimate); @@ -217,11 +218,9 @@ TEST(AimdRateControlTest, SetEstimateUpperLimitedByNetworkEstimate) { } TEST(AimdRateControlTest, - SetEstimateUpperLimitedByCurrentBitrateIfNetworkEstimateIsLow) { - AimdRateControl aimd_rate_control( - ExplicitKeyValueConfig( - "WebRTC-Bwe-EstimateBoundedIncrease/c_upper:true/"), - /*send_side=*/true); + SetEstimateDefaultUpperLimitedByCurrentBitrateIfNetworkEstimateIsLow) { + AimdRateControl aimd_rate_control(ExplicitKeyValueConfig(""), + /*send_side=*/true); aimd_rate_control.SetEstimate(DataRate::BitsPerSec(500'000), kInitialTime); ASSERT_EQ(aimd_rate_control.LatestEstimate(), DataRate::BitsPerSec(500'000)); @@ -233,9 +232,12 @@ TEST(AimdRateControlTest, } TEST(AimdRateControlTest, - SetEstimateDefaultNotUpperLimitedByCurrentBitrateIfNetworkEstimateIsLow) { - AimdRateControl aimd_rate_control(ExplicitKeyValueConfig(""), - /*send_side=*/true); + SetEstimateNotUpperLimitedByCurrentBitrateIfNetworkEstimateIsLowIf) { + AimdRateControl aimd_rate_control( + ExplicitKeyValueConfig( + "WebRTC-Bwe-EstimateBoundedIncrease/c_upper:false/"), + /*send_side=*/true); + aimd_rate_control.SetEstimate(DataRate::BitsPerSec(500'000), kInitialTime); ASSERT_EQ(aimd_rate_control.LatestEstimate(), DataRate::BitsPerSec(500'000));