Cleanup RttMult experiment as launched
Bug: webrtc:9670
Change-Id: I252db24faf3d668bf24b8d372454003b553cc8d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343767
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41983}
diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index 6580ac9..38113f7 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -748,9 +748,6 @@
FieldTrial('WebRTC-RtcpLossNotification',
'webrtc:10336',
date(2024, 4, 1)),
- FieldTrial('WebRTC-RttMult',
- 'webrtc:9670',
- INDEFINITE),
FieldTrial('WebRTC-SendBufferSizeBytes',
'webrtc:11905',
date(2024, 4, 1)),
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index 0d98fd1..4da259e 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -25,7 +25,6 @@
"../../modules/rtp_rtcp:rtp_video_header",
"../../rtc_base:checks",
"../../rtc_base/experiments:alr_experiment",
- "../../rtc_base/experiments:rtt_mult_experiment",
"../../rtc_base/system:rtc_export",
"../../system_wrappers",
]
@@ -254,7 +253,6 @@
"../../rtc_base/experiments:field_trial_parser",
"../../rtc_base/experiments:min_video_bitrate_experiment",
"../../rtc_base/experiments:rate_control_settings",
- "../../rtc_base/experiments:rtt_mult_experiment",
"../../rtc_base/synchronization:mutex",
"../../rtc_base/system:no_unique_address",
"../../rtc_base/task_utils:repeating_task",
diff --git a/rtc_base/experiments/BUILD.gn b/rtc_base/experiments/BUILD.gn
index ace9007..a908c3a 100644
--- a/rtc_base/experiments/BUILD.gn
+++ b/rtc_base/experiments/BUILD.gn
@@ -167,18 +167,6 @@
]
}
-rtc_library("rtt_mult_experiment") {
- sources = [
- "rtt_mult_experiment.cc",
- "rtt_mult_experiment.h",
- ]
- deps = [
- "..:logging",
- "../../system_wrappers:field_trial",
- ]
- absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
-}
-
rtc_library("rate_control_settings") {
sources = [
"rate_control_settings.cc",
@@ -262,7 +250,6 @@
"quality_scaler_settings_unittest.cc",
"quality_scaling_experiment_unittest.cc",
"rate_control_settings_unittest.cc",
- "rtt_mult_experiment_unittest.cc",
"stable_target_rate_experiment_unittest.cc",
"struct_parameters_parser_unittest.cc",
]
@@ -279,7 +266,6 @@
":quality_scaler_settings",
":quality_scaling_experiment",
":rate_control_settings",
- ":rtt_mult_experiment",
":stable_target_rate_experiment",
"..:gunit_helpers",
"../:rtc_base_tests_utils",
diff --git a/rtc_base/experiments/OWNERS b/rtc_base/experiments/OWNERS
index 0a3b895..bb648db 100644
--- a/rtc_base/experiments/OWNERS
+++ b/rtc_base/experiments/OWNERS
@@ -9,5 +9,4 @@
per-file keyframe_interval_settings*=brandtr@webrtc.org
per-file normalize_simulcast_size_experiment*=asapersson@webrtc.org
per-file quality_scaling_experiment*=asapersson@webrtc.org
-per-file rtt_mult_experiment*=mhoro@webrtc.org
per-file rate_control_settings*=srte@webrtc.org
diff --git a/rtc_base/experiments/rtt_mult_experiment.cc b/rtc_base/experiments/rtt_mult_experiment.cc
deleted file mode 100644
index e15b928..0000000
--- a/rtc_base/experiments/rtt_mult_experiment.cc
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2018 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-#include "rtc_base/experiments/rtt_mult_experiment.h"
-
-#include <stdio.h>
-
-#include <algorithm>
-#include <string>
-
-#include "rtc_base/logging.h"
-#include "system_wrappers/include/field_trial.h"
-
-namespace webrtc {
-
-namespace {
-const char kRttMultExperiment[] = "WebRTC-RttMult";
-} // namespace
-
-bool RttMultExperiment::RttMultEnabled() {
- return !field_trial::IsDisabled(kRttMultExperiment);
-}
-
-absl::optional<RttMultExperiment::Settings>
-RttMultExperiment::GetRttMultValue() {
- if (!RttMultExperiment::RttMultEnabled()) {
- return absl::nullopt;
- }
- return RttMultExperiment::Settings{.rtt_mult_setting = 0.9,
- .rtt_mult_add_cap_ms = 200.0};
-}
-
-} // namespace webrtc
diff --git a/rtc_base/experiments/rtt_mult_experiment.h b/rtc_base/experiments/rtt_mult_experiment.h
deleted file mode 100644
index a868e63..0000000
--- a/rtc_base/experiments/rtt_mult_experiment.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2018 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-#ifndef RTC_BASE_EXPERIMENTS_RTT_MULT_EXPERIMENT_H_
-#define RTC_BASE_EXPERIMENTS_RTT_MULT_EXPERIMENT_H_
-
-#include "absl/types/optional.h"
-
-namespace webrtc {
-
-class RttMultExperiment {
- public:
- struct Settings {
- float rtt_mult_setting; // Jitter buffer size is increased by this factor
- // times the estimated RTT.
- float rtt_mult_add_cap_ms; // Jitter buffer size increase is capped by this
- // value.
- };
-
- // Returns true if the experiment is enabled.
- static bool RttMultEnabled();
-
- // Returns rtt_mult value and rtt_mult addition cap value from field trial.
- static absl::optional<RttMultExperiment::Settings> GetRttMultValue();
-};
-
-} // namespace webrtc
-
-#endif // RTC_BASE_EXPERIMENTS_RTT_MULT_EXPERIMENT_H_
diff --git a/rtc_base/experiments/rtt_mult_experiment_unittest.cc b/rtc_base/experiments/rtt_mult_experiment_unittest.cc
deleted file mode 100644
index a6798a1..0000000
--- a/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2018 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "rtc_base/experiments/rtt_mult_experiment.h"
-
-#include "test/field_trial.h"
-#include "test/gtest.h"
-
-namespace webrtc {
-
-TEST(RttMultExperimentTest, RttMultEnabledByDefault) {
- EXPECT_TRUE(RttMultExperiment::RttMultEnabled());
- ASSERT_TRUE(RttMultExperiment::GetRttMultValue());
- EXPECT_EQ(0.9f, RttMultExperiment::GetRttMultValue()->rtt_mult_setting);
- EXPECT_EQ(200.0f, RttMultExperiment::GetRttMultValue()->rtt_mult_add_cap_ms);
-}
-
-TEST(RttMultExperimentTest, RttMultDisabledByFieldTrial) {
- webrtc::test::ScopedFieldTrials field_trials("WebRTC-RttMult/Disabled/");
- EXPECT_FALSE(RttMultExperiment::RttMultEnabled());
- EXPECT_FALSE(RttMultExperiment::GetRttMultValue());
-}
-
-} // namespace webrtc
diff --git a/video/BUILD.gn b/video/BUILD.gn
index d74ea0e..8752929 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -292,7 +292,6 @@
"../rtc_base:checks",
"../rtc_base:logging",
"../rtc_base:macromagic",
- "../rtc_base/experiments:rtt_mult_experiment",
"../system_wrappers",
"../system_wrappers:field_trial",
]
diff --git a/video/video_stream_buffer_controller.cc b/video/video_stream_buffer_controller.cc
index 59c07dd..b7ed896 100644
--- a/video/video_stream_buffer_controller.cc
+++ b/video/video_stream_buffer_controller.cc
@@ -248,17 +248,12 @@
superframe_size);
}
- float rtt_mult = protection_mode_ == kProtectionNackFEC ? 0.0 : 1.0;
- absl::optional<TimeDelta> rtt_mult_add_cap_ms = absl::nullopt;
- if (rtt_mult_settings_.has_value()) {
- rtt_mult = rtt_mult_settings_->rtt_mult_setting;
- rtt_mult_add_cap_ms =
- TimeDelta::Millis(rtt_mult_settings_->rtt_mult_add_cap_ms);
- }
+ static constexpr float kRttMult = 0.9f;
+ static constexpr TimeDelta kRttMultAddCap = TimeDelta::Millis(200);
timing_->SetJitterDelay(
- jitter_estimator_.GetJitterEstimate(rtt_mult, rtt_mult_add_cap_ms));
+ jitter_estimator_.GetJitterEstimate(kRttMult, kRttMultAddCap));
timing_->UpdateCurrentDelay(render_time, now);
- } else if (RttMultExperiment::RttMultEnabled()) {
+ } else {
jitter_estimator_.FrameNacked();
}
diff --git a/video/video_stream_buffer_controller.h b/video/video_stream_buffer_controller.h
index f879385..f07b3eb 100644
--- a/video/video_stream_buffer_controller.h
+++ b/video/video_stream_buffer_controller.h
@@ -21,7 +21,6 @@
#include "modules/video_coding/timing/inter_frame_delay_variation_calculator.h"
#include "modules/video_coding/timing/jitter_estimator.h"
#include "modules/video_coding/timing/timing.h"
-#include "rtc_base/experiments/rtt_mult_experiment.h"
#include "system_wrappers/include/clock.h"
#include "video/decode_synchronizer.h"
#include "video/video_receive_stream_timeout_tracker.h"
@@ -103,8 +102,6 @@
RTC_NO_UNIQUE_ADDRESS SequenceChecker worker_sequence_checker_;
const FieldTrialsView& field_trials_;
- const absl::optional<RttMultExperiment::Settings> rtt_mult_settings_ =
- RttMultExperiment::GetRttMultValue();
Clock* const clock_;
VideoStreamBufferControllerStatsObserver* const stats_proxy_;
FrameSchedulingReceiver* const receiver_;