From 8e56076bb4adf76d1fe3f789c89bab510b6aa785 Mon Sep 17 00:00:00 2001 From: philipel Date: Mon, 2 Oct 2017 14:00:13 +0200 Subject: [PATCH] LogDelayBasedBweUpdate on detector state change. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:8287 Change-Id: I927c766e587d89f81a6dc8696557b7d43369fbf9 Reviewed-on: https://webrtc-review.googlesource.com/4140 Commit-Queue: Philip Eliasson Reviewed-by: Björn Terelius Cr-Commit-Position: refs/heads/master@{#20077} --- .../congestion_controller/delay_based_bwe.cc | 26 ++++++++++--------- .../congestion_controller/delay_based_bwe.h | 4 +-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/congestion_controller/delay_based_bwe.cc b/modules/congestion_controller/delay_based_bwe.cc index a49d4682f2..d269be1cae 100644 --- a/modules/congestion_controller/delay_based_bwe.cc +++ b/modules/congestion_controller/delay_based_bwe.cc @@ -83,8 +83,8 @@ DelayBasedBwe::DelayBasedBwe(RtcEventLog* event_log, const Clock* clock) trendline_smoothing_coeff_(kDefaultTrendlineSmoothingCoeff), trendline_threshold_gain_(kDefaultTrendlineThresholdGain), consecutive_delayed_feedbacks_(0), - last_logged_bitrate_(0), - last_logged_state_(BandwidthUsage::kBwNormal), + prev_bitrate_(0), + prev_state_(BandwidthUsage::kBwNormal), in_sparse_update_experiment_(BweSparseUpdateExperimentIsEnabled()) { LOG(LS_INFO) << "Using Trendline filter for delay change estimation."; } @@ -249,16 +249,18 @@ DelayBasedBwe::Result DelayBasedBwe::MaybeUpdateEstimate( result.recovered_from_overuse = recovered_from_overuse; } } - if (result.updated) { - BWE_TEST_LOGGING_PLOT(1, "target_bitrate_bps", now_ms, - result.target_bitrate_bps); - if (event_log_ && (result.target_bitrate_bps != last_logged_bitrate_ || - detector_.State() != last_logged_state_)) { - event_log_->LogDelayBasedBweUpdate(result.target_bitrate_bps, - detector_.State()); - last_logged_bitrate_ = result.target_bitrate_bps; - last_logged_state_ = detector_.State(); - } + if ((result.updated && prev_bitrate_ != result.target_bitrate_bps) || + detector_.State() != prev_state_) { + uint32_t bitrate_bps = + result.updated ? result.target_bitrate_bps : prev_bitrate_; + + BWE_TEST_LOGGING_PLOT(1, "target_bitrate_bps", now_ms, bitrate_bps); + + if (event_log_) + event_log_->LogDelayBasedBweUpdate(bitrate_bps, detector_.State()); + + prev_bitrate_ = bitrate_bps; + prev_state_ = detector_.State(); } return result; } diff --git a/modules/congestion_controller/delay_based_bwe.h b/modules/congestion_controller/delay_based_bwe.h index c0820e1142..3766cd119f 100644 --- a/modules/congestion_controller/delay_based_bwe.h +++ b/modules/congestion_controller/delay_based_bwe.h @@ -85,8 +85,8 @@ class DelayBasedBwe { double trendline_smoothing_coeff_; double trendline_threshold_gain_; int consecutive_delayed_feedbacks_; - uint32_t last_logged_bitrate_; - BandwidthUsage last_logged_state_; + uint32_t prev_bitrate_; + BandwidthUsage prev_state_; bool in_sparse_update_experiment_; RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(DelayBasedBwe);