| Index: webrtc/modules/congestion_controller/probe_controller.cc
|
| diff --git a/webrtc/modules/congestion_controller/probe_controller.cc b/webrtc/modules/congestion_controller/probe_controller.cc
|
| index 757e2a1626f88bd816f0ad1d7f353234abe32227..10573c302941044fc236b95250207b9a0965055d 100644
|
| --- a/webrtc/modules/congestion_controller/probe_controller.cc
|
| +++ b/webrtc/modules/congestion_controller/probe_controller.cc
|
| @@ -121,28 +121,17 @@ void ProbeController::SetEstimatedBitrate(int bitrate_bps) {
|
| int64_t now_ms = clock_->TimeInMilliseconds();
|
|
|
| if (state_ == State::kWaitingForProbingResult) {
|
| - if ((now_ms - time_last_probing_initiated_ms_) >
|
| - kMaxWaitingTimeForProbingResultMs) {
|
| - LOG(LS_INFO) << "kWaitingForProbingResult: timeout";
|
| - state_ = State::kProbingComplete;
|
| - min_bitrate_to_probe_further_bps_ = kExponentialProbingDisabled;
|
| - } else {
|
| - // Continue probing if probing results indicate channel has greater
|
| - // capacity.
|
| - LOG(LS_INFO) << "Measured bitrate: " << bitrate_bps
|
| - << " Minimum to probe further: "
|
| - << min_bitrate_to_probe_further_bps_;
|
| - if (min_bitrate_to_probe_further_bps_ != kExponentialProbingDisabled &&
|
| - bitrate_bps > min_bitrate_to_probe_further_bps_) {
|
| - // Double the probing bitrate and expect a minimum of 25% gain to
|
| - // continue probing.
|
| - InitiateProbing(now_ms, {2 * bitrate_bps},
|
| - bitrate_bps * kRepeatedProbeMinPercentage / 100);
|
| - } else {
|
| - // Stop exponential probing.
|
| - state_ = State::kProbingComplete;
|
| - min_bitrate_to_probe_further_bps_ = kExponentialProbingDisabled;
|
| - }
|
| + // Continue probing if probing results indicate channel has greater
|
| + // capacity.
|
| + LOG(LS_INFO) << "Measured bitrate: " << bitrate_bps
|
| + << " Minimum to probe further: "
|
| + << min_bitrate_to_probe_further_bps_;
|
| + if (min_bitrate_to_probe_further_bps_ != kExponentialProbingDisabled &&
|
| + bitrate_bps > min_bitrate_to_probe_further_bps_) {
|
| + // Double the probing bitrate and expect a minimum of 25% gain to
|
| + // continue probing.
|
| + InitiateProbing(now_ms, {2 * bitrate_bps},
|
| + bitrate_bps * kRepeatedProbeMinPercentage / 100);
|
| }
|
| }
|
|
|
| @@ -182,6 +171,16 @@ void ProbeController::EnablePeriodicAlrProbing(bool enable) {
|
| void ProbeController::Process() {
|
| rtc::CritScope cs(&critsect_);
|
|
|
| + int64_t now_ms = clock_->TimeInMilliseconds();
|
| +
|
| + if (state_ == State::kWaitingForProbingResult &&
|
| + (now_ms - time_last_probing_initiated_ms_) >
|
| + kMaxWaitingTimeForProbingResultMs) {
|
| + LOG(LS_INFO) << "kWaitingForProbingResult: timeout";
|
| + state_ = State::kProbingComplete;
|
| + min_bitrate_to_probe_further_bps_ = kExponentialProbingDisabled;
|
| + }
|
| +
|
| if (state_ != State::kProbingComplete || !enable_periodic_alr_probing_)
|
| return;
|
|
|
| @@ -189,7 +188,6 @@ void ProbeController::Process() {
|
| rtc::Optional<int64_t> alr_start_time =
|
| pacer_->GetApplicationLimitedRegionStartTime();
|
| if (alr_start_time) {
|
| - int64_t now_ms = clock_->TimeInMilliseconds();
|
| int64_t next_probe_time_ms =
|
| std::max(*alr_start_time, time_last_probing_initiated_ms_) +
|
| kAlrPeriodicProbingIntervalMs;
|
|
|