Per default enable WebRTC-Bwe-EstimateBoundedIncrease/c_upper:true

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 <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41196}
diff --git a/modules/remote_bitrate_estimator/aimd_rate_control.h b/modules/remote_bitrate_estimator/aimd_rate_control.h
index 97fa490..c9edc4f 100644
--- a/modules/remote_bitrate_estimator/aimd_rate_control.h
+++ b/modules/remote_bitrate_estimator/aimd_rate_control.h
@@ -108,7 +108,7 @@
   // If "Disabled",  estimated link capacity is not used as upper bound.
   FieldTrialFlag disable_estimate_bounded_increase_{"Disabled"};
   FieldTrialParameter<bool> use_current_estimate_as_min_upper_bound_{"c_upper",
-                                                                     false};
+                                                                     true};
   absl::optional<DataRate> 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 f26afe9..401e87e 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, 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,
-     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,
-     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));