diff --git a/modules/remote_bitrate_estimator/remote_estimator_proxy.cc b/modules/remote_bitrate_estimator/remote_estimator_proxy.cc index 50a724b89a..274da0b8a4 100644 --- a/modules/remote_bitrate_estimator/remote_estimator_proxy.cc +++ b/modules/remote_bitrate_estimator/remote_estimator_proxy.cc @@ -107,7 +107,8 @@ void RemoteEstimatorProxy::OnBitrateChanged(int bitrate_bps) { rtc::CritScope cs(&lock_); send_interval_ms_ = static_cast( 0.5 + kTwccReportSize * 8.0 * 1000.0 / - rtc::SafeClamp(0.05 * bitrate_bps, kMinTwccRate, kMaxTwccRate)); + rtc::SafeClamp(send_config_.bandwidth_fraction * bitrate_bps, + kMinTwccRate, kMaxTwccRate)); } void RemoteEstimatorProxy::SetSendPeriodicFeedback( diff --git a/modules/remote_bitrate_estimator/remote_estimator_proxy.h b/modules/remote_bitrate_estimator/remote_estimator_proxy.h index 52107cfc39..439f123059 100644 --- a/modules/remote_bitrate_estimator/remote_estimator_proxy.h +++ b/modules/remote_bitrate_estimator/remote_estimator_proxy.h @@ -58,12 +58,13 @@ class RemoteEstimatorProxy : public RemoteBitrateEstimator { FieldTrialParameter min_interval{"min", TimeDelta::ms(50)}; FieldTrialParameter max_interval{"max", TimeDelta::ms(250)}; FieldTrialParameter default_interval{"def", TimeDelta::ms(100)}; + FieldTrialParameter bandwidth_fraction{"frac", 0.05}; explicit TransportWideFeedbackConfig( const WebRtcKeyValueConfig* key_value_config) { - ParseFieldTrial( - {&back_window, &min_interval, &max_interval, &default_interval}, - key_value_config->Lookup( - "WebRTC-Bwe-TransportWideFeedbackIntervals")); + ParseFieldTrial({&back_window, &min_interval, &max_interval, + &default_interval, &bandwidth_fraction}, + key_value_config->Lookup( + "WebRTC-Bwe-TransportWideFeedbackIntervals")); } };