Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Unified Diff: webrtc/modules/congestion_controller/delay_based_bwe.cc

Issue 2786913003: Revert of Enable the bayesian bitrate estimator by default. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/congestion_controller/delay_based_bwe.cc
diff --git a/webrtc/modules/congestion_controller/delay_based_bwe.cc b/webrtc/modules/congestion_controller/delay_based_bwe.cc
index 3fa48c7a423d778d05244a7b4185fc682dfb9708..e8d9d21050f21d1b931999b758979b95ec953bcb 100644
--- a/webrtc/modules/congestion_controller/delay_based_bwe.cc
+++ b/webrtc/modules/congestion_controller/delay_based_bwe.cc
@@ -52,8 +52,13 @@
constexpr int kMaxConsecutiveFailedLookups = 5;
+const char kBitrateEstimateExperiment[] = "WebRTC-ImprovedBitrateEstimate";
const char kBweTrendlineFilterExperiment[] = "WebRTC-BweTrendlineFilter";
const char kBweMedianSlopeFilterExperiment[] = "WebRTC-BweMedianSlopeFilter";
+
+bool BitrateEstimateExperimentIsEnabled() {
+ return webrtc::field_trial::IsEnabled(kBitrateEstimateExperiment);
+}
bool TrendlineFilterExperimentIsEnabled() {
std::string experiment_string =
@@ -148,9 +153,19 @@
current_win_ms_(0),
prev_time_ms_(-1),
bitrate_estimate_(-1.0f),
- bitrate_estimate_var_(50.0f) {}
+ bitrate_estimate_var_(50.0f),
+ old_estimator_(kBitrateWindowMs, 8000),
+ in_experiment_(BitrateEstimateExperimentIsEnabled()) {}
void DelayBasedBwe::BitrateEstimator::Update(int64_t now_ms, int bytes) {
+ if (!in_experiment_) {
+ old_estimator_.Update(bytes, now_ms);
+ rtc::Optional<uint32_t> rate = old_estimator_.Rate(now_ms);
+ bitrate_estimate_ = -1.0f;
+ if (rate)
+ bitrate_estimate_ = *rate / 1000.0f;
+ return;
+ }
int rate_window_ms = kRateWindowMs;
// We use a larger window at the beginning to get a more stable sample that
// we can use to initialize the estimate.

Powered by Google App Engine
This is Rietveld 408576698