Fix loss of precision in accumulation of RTT in GoogCC

Bug: webrtc:14513
Change-Id: Iefa4cf906ded02b224b970cabeea5b8c4ed122de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277760
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38273}
This commit is contained in:
Björn Terelius
2022-10-03 12:56:48 +02:00
committed by WebRTC LUCI CQ
parent 05f48222b7
commit c0b0494860

View File

@ -440,8 +440,9 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback(
} }
if (packet_feedback_only_) { if (packet_feedback_only_) {
if (!feedback_max_rtts_.empty()) { if (!feedback_max_rtts_.empty()) {
int64_t sum_rtt_ms = std::accumulate(feedback_max_rtts_.begin(), int64_t sum_rtt_ms =
feedback_max_rtts_.end(), 0); std::accumulate(feedback_max_rtts_.begin(), feedback_max_rtts_.end(),
static_cast<int64_t>(0));
int64_t mean_rtt_ms = sum_rtt_ms / feedback_max_rtts_.size(); int64_t mean_rtt_ms = sum_rtt_ms / feedback_max_rtts_.size();
if (delay_based_bwe_) if (delay_based_bwe_)
delay_based_bwe_->OnRttUpdate(TimeDelta::Millis(mean_rtt_ms)); delay_based_bwe_->OnRttUpdate(TimeDelta::Millis(mean_rtt_ms));