| Index: modules/remote_bitrate_estimator/aimd_rate_control.cc
|
| diff --git a/modules/remote_bitrate_estimator/aimd_rate_control.cc b/modules/remote_bitrate_estimator/aimd_rate_control.cc
|
| index d91f2cb342e80397df60d251836f2407d57967db..2daac01d216a53ca5334a3c92db921a3a6f86aac 100644
|
| --- a/modules/remote_bitrate_estimator/aimd_rate_control.cc
|
| +++ b/modules/remote_bitrate_estimator/aimd_rate_control.cc
|
| @@ -136,12 +136,13 @@ int AimdRateControl::GetNearMaxIncreaseRateBps() const {
|
| }
|
|
|
| int AimdRateControl::GetExpectedBandwidthPeriodMs() const {
|
| - constexpr int kMinPeriodMs = 500;
|
| + constexpr int kMinPeriodMs = 2000;
|
| + constexpr int kDefaultPeriodMs = 3000;
|
| constexpr int kMaxPeriodMs = 50000;
|
|
|
| int increase_rate = GetNearMaxIncreaseRateBps();
|
| if (!last_decrease_)
|
| - return kMinPeriodMs;
|
| + return kDefaultPeriodMs;
|
|
|
| return std::min(kMaxPeriodMs,
|
| std::max<int>(1000 * static_cast<int64_t>(*last_decrease_) /
|
| @@ -210,17 +211,8 @@ uint32_t AimdRateControl::ChangeBitrate(uint32_t new_bitrate_bps,
|
|
|
| if (bitrate_is_initialized_ &&
|
| incoming_bitrate_bps < current_bitrate_bps_) {
|
| - constexpr float kDegradationFactor = 0.9f;
|
| - if (new_bitrate_bps <
|
| - kDegradationFactor * beta_ * current_bitrate_bps_) {
|
| - // If bitrate decreases more than a normal back off after overuse, it
|
| - // indicates a real network degradation. We do not let such a decrease
|
| - // to determine the bandwidth estimation period.
|
| - last_decrease_ = rtc::Optional<int>();
|
| - } else {
|
| - last_decrease_ = rtc::Optional<int>(
|
| - current_bitrate_bps_ - new_bitrate_bps);
|
| - }
|
| + last_decrease_ =
|
| + rtc::Optional<int>(current_bitrate_bps_ - new_bitrate_bps);
|
| }
|
| if (incoming_bitrate_kbps <
|
| avg_max_bitrate_kbps_ - 3 * std_max_bit_rate) {
|
|
|