Set the start bitrate to the delay-based BWE.

This avoids issues where the bitrate produced by the codec is far lower than the target bitrate in the beginning, which causes the delay-based BWE to be initialized accordingly.

BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/2653883002
Cr-Commit-Position: refs/heads/master@{#16327}
This commit is contained in:
stefan
2017-01-27 06:43:18 -08:00
committed by Commit bot
parent b0ae920fad
commit 5a2c506e8e
11 changed files with 79 additions and 42 deletions

View File

@ -43,6 +43,13 @@ AimdRateControl::AimdRateControl()
rtt_(kDefaultRttMs),
in_experiment_(!AdaptiveThresholdExperimentIsDisabled()) {}
AimdRateControl::~AimdRateControl() {}
void AimdRateControl::SetStartBitrate(int start_bitrate_bps) {
current_bitrate_bps_ = start_bitrate_bps;
bitrate_is_initialized_ = true;
}
void AimdRateControl::SetMinBitrate(int min_bitrate_bps) {
min_configured_bitrate_bps_ = min_bitrate_bps;
current_bitrate_bps_ = std::max<int>(min_bitrate_bps, current_bitrate_bps_);

View File

@ -24,11 +24,12 @@ namespace webrtc {
class AimdRateControl {
public:
AimdRateControl();
virtual ~AimdRateControl() {}
virtual ~AimdRateControl();
// Returns true if there is a valid estimate of the incoming bitrate, false
// otherwise.
bool ValidEstimate() const;
void SetStartBitrate(int start_bitrate_bps);
void SetMinBitrate(int min_bitrate_bps);
int64_t GetFeedbackInterval() const;
// Returns true if the bitrate estimate hasn't been changed for more than