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}
This commit is contained in:
parent
c09cc4f961
commit
f124572ec0
@ -108,7 +108,7 @@ class AimdRateControl {
|
||||
// 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
|
||||
|
||||
@ -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));
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user