From 565e5b0829ab950de42763a6985839637f43fcbc Mon Sep 17 00:00:00 2001 From: Per Kjellander Date: Tue, 13 Sep 2022 13:31:07 +0200 Subject: [PATCH] Ensure Lossbased BWE v2 target rate is updated before updating probe controller Loss based BWE v2 rate is updated immediately when transport feedback is received. This ensure that when GoogCcNetworkController::MaybeTriggerOnNetworkChanged is invoked, the loss based estimate is updated. Bug: webrtc:14392 Change-Id: If404576c5793a29096cea52884862807cde8b615 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275306 Commit-Queue: Per Kjellander Reviewed-by: Diep Bui Cr-Commit-Position: refs/heads/main@{#38070} --- .../goog_cc/goog_cc_network_control.cc | 7 +++++-- .../goog_cc/send_side_bandwidth_estimation.cc | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc index cedceecd53..c75afc956c 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control.cc @@ -547,11 +547,14 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback( // call UpdateDelayBasedEstimate after SetSendBitrate. bandwidth_estimation_->UpdateDelayBasedEstimate(report.feedback_time, result.target_bitrate); - // Update the estimate in the ProbeController, in case we want to probe. - MaybeTriggerOnNetworkChanged(&update, report.feedback_time); } bandwidth_estimation_->UpdateLossBasedEstimator(report, result.delay_detector_state); + if (result.updated) { + // Update the estimate in the ProbeController, in case we want to probe. + MaybeTriggerOnNetworkChanged(&update, report.feedback_time); + } + recovered_from_overuse = result.recovered_from_overuse; if (recovered_from_overuse) { diff --git a/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc b/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc index e61e839d59..acf186241c 100644 --- a/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc +++ b/modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.cc @@ -369,6 +369,7 @@ void SendSideBandwidthEstimation::UpdateLossBasedEstimator( if (LossBasedBandwidthEstimatorV2Enabled()) { loss_based_bandwidth_estimator_v2_.UpdateBandwidthEstimate( report.packet_feedbacks, delay_based_limit_, delay_detector_state); + UpdateEstimate(report.feedback_time); } }