From 0fa90c387838b2c2b53067d2e51fcbf3fd78980c Mon Sep 17 00:00:00 2001 From: Per Kjellander Date: Wed, 30 Aug 2023 11:15:32 +0000 Subject: [PATCH] Reland "Per default enable RobustThroughputEstimator" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4ef01d41b73c1543abf1096e64406ae5233d0230. Reason for revert: Downstream projects fixed Original change's description: > Revert "Per default enable RobustThroughputEstimator" > > This reverts commit d017b1e306186252ed52ab84459d05efc4eb9fd4. > > Reason for revert: Breaks downstream test. > > Original change's description: > > Per default enable RobustThroughputEstimator > > > > Experiments has not showed significant metric changes. However, simulations has showed that RobustThroughputEstimator better follow the actually receive rate better. Especially during bursts of sent packets. Code is also simpler. > > > > > > Bug: webrtc:13402 chromium:1411666 > > Change-Id: I38c309f74e8e1322602196354545b3a465866263 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318040 > > Reviewed-by: Björn Terelius > > Commit-Queue: Per Kjellander > > Cr-Commit-Position: refs/heads/main@{#40653} > > Bug: webrtc:13402 chromium:1411666 b/298001595 > Change-Id: Ic68ef954f462021e991f3183b94d85eb6a44fac0 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318141 > Owners-Override: Mirko Bonadei > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com > Commit-Queue: Mirko Bonadei > Cr-Commit-Position: refs/heads/main@{#40658} Bug: webrtc:13402 chromium:1411666 b/298001595 Change-Id: I73f0e9b0e2f209b3833b38241e96ef8f7b3f1e5f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318282 Commit-Queue: Per Kjellander Bot-Commit: rubber-stamper@appspot.gserviceaccount.com Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#40664} --- .../acknowledged_bitrate_estimator_interface.h | 4 +++- .../goog_cc/robust_throughput_estimator_unittest.cc | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h index 515af1efc9..6184cdc114 100644 --- a/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h +++ b/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h @@ -33,7 +33,9 @@ struct RobustThroughputEstimatorSettings { explicit RobustThroughputEstimatorSettings( const FieldTrialsView* key_value_config); - bool enabled = false; // Set to true to use RobustThroughputEstimator. + // Set `enabled` to true to use the RobustThroughputEstimator, false to use + // the AcknowledgedBitrateEstimator. + bool enabled = true; // The estimator keeps the smallest window containing at least // `window_packets` and at least the packets received during the last diff --git a/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc b/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc index 9a013aa6d0..f41ee7f3d6 100644 --- a/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc +++ b/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc @@ -63,6 +63,19 @@ class FeedbackGenerator { uint16_t sequence_number_ = 100; }; +TEST(RobustThroughputEstimatorTest, DefaultEnabled) { + RobustThroughputEstimatorSettings settings = + CreateRobustThroughputEstimatorSettings(""); + EXPECT_TRUE(settings.enabled); +} + +TEST(RobustThroughputEstimatorTest, CanDisable) { + RobustThroughputEstimatorSettings settings = + CreateRobustThroughputEstimatorSettings( + "WebRTC-Bwe-RobustThroughputEstimatorSettings/enabled:false/"); + EXPECT_FALSE(settings.enabled); +} + TEST(RobustThroughputEstimatorTest, InitialEstimate) { FeedbackGenerator feedback_generator; RobustThroughputEstimator throughput_estimator(