From 25e6c46a06ffca43adbe0d2f005d053009347114 Mon Sep 17 00:00:00 2001 From: Byron Campen Date: Fri, 27 Oct 2023 15:26:52 -0500 Subject: [PATCH] Bug 1860685 - Vendor libwebrtc from 0fa90c3878 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream commit: https://webrtc.googlesource.com/src/+/0fa90c387838b2c2b53067d2e51fcbf3fd78980c Reland "Per default enable RobustThroughputEstimator" 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} --- third_party/libwebrtc/README.moz-ff-commit | 3 +++ third_party/libwebrtc/README.mozilla | 2 ++ .../acknowledged_bitrate_estimator_interface.h | 4 +++- .../goog_cc/robust_throughput_estimator_unittest.cc | 13 +++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/third_party/libwebrtc/README.moz-ff-commit b/third_party/libwebrtc/README.moz-ff-commit index 910253df1f94..473adb460dea 100644 --- a/third_party/libwebrtc/README.moz-ff-commit +++ b/third_party/libwebrtc/README.moz-ff-commit @@ -25698,3 +25698,6 @@ d23d450a50 # MOZ_LIBWEBRTC_SRC=/home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc MOZ_LIBWEBRTC_BRANCH=mozpatches bash dom/media/webrtc/third_party_build/fast-forward-libwebrtc.sh # base of lastest vendoring 675ef918a8 +# MOZ_LIBWEBRTC_SRC=/home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc MOZ_LIBWEBRTC_BRANCH=mozpatches bash dom/media/webrtc/third_party_build/fast-forward-libwebrtc.sh +# base of lastest vendoring +0fa90c3878 diff --git a/third_party/libwebrtc/README.mozilla b/third_party/libwebrtc/README.mozilla index b964bd39361d..b0aff01d7318 100644 --- a/third_party/libwebrtc/README.mozilla +++ b/third_party/libwebrtc/README.mozilla @@ -17156,3 +17156,5 @@ libwebrtc updated from /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebr libwebrtc updated from /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2023-10-27T20:24:38.532274. # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc libwebrtc updated from /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2023-10-27T20:25:53.704517. +# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc +libwebrtc updated from /home/bcampen/checkouts/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2023-10-27T20:26:42.345111. diff --git a/third_party/libwebrtc/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h b/third_party/libwebrtc/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h index 515af1efc9e0..6184cdc11444 100644 --- a/third_party/libwebrtc/modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h +++ b/third_party/libwebrtc/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/third_party/libwebrtc/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc b/third_party/libwebrtc/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc index 9a013aa6d08d..f41ee7f3d69e 100644 --- a/third_party/libwebrtc/modules/congestion_controller/goog_cc/robust_throughput_estimator_unittest.cc +++ b/third_party/libwebrtc/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(