From c52e627c831ace2e6e6b0738715a51d851cd4865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Thu, 7 Jul 2022 12:41:57 +0200 Subject: [PATCH] Remove WebRTC-Pacer-DynamicPaddingTarget field trial MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:10809 Change-Id: I9f4adbea5721408b339bbf7497c20834537e50c0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268145 Auto-Submit: Erik Språng Reviewed-by: Philip Eliasson Commit-Queue: Philip Eliasson Cr-Commit-Position: refs/heads/main@{#37480} --- modules/pacing/pacing_controller.cc | 12 ++---------- modules/pacing/pacing_controller.h | 3 --- modules/pacing/pacing_controller_unittest.cc | 9 +++------ 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/modules/pacing/pacing_controller.cc b/modules/pacing/pacing_controller.cc index e997f959c5..eee48d5c31 100644 --- a/modules/pacing/pacing_controller.cc +++ b/modules/pacing/pacing_controller.cc @@ -35,6 +35,7 @@ constexpr TimeDelta kCongestedPacketInterval = TimeDelta::Millis(500); // The maximum debt level, in terms of time, capped when sending packets. constexpr TimeDelta kMaxDebtInTime = TimeDelta::Millis(500); constexpr TimeDelta kMaxElapsedTime = TimeDelta::Seconds(2); +constexpr TimeDelta kTargetPaddingDuration = TimeDelta::Millis(5); bool IsDisabled(const FieldTrialsView& field_trials, absl::string_view key) { return absl::StartsWith(field_trials.Lookup(key), "Disabled"); @@ -44,14 +45,6 @@ bool IsEnabled(const FieldTrialsView& field_trials, absl::string_view key) { return absl::StartsWith(field_trials.Lookup(key), "Enabled"); } -TimeDelta GetDynamicPaddingTarget(const FieldTrialsView& field_trials) { - FieldTrialParameter padding_target("timedelta", - TimeDelta::Millis(5)); - ParseFieldTrial({&padding_target}, - field_trials.Lookup("WebRTC-Pacer-DynamicPaddingTarget")); - return padding_target.Get(); -} - std::unique_ptr CreatePacketQueue( const FieldTrialsView& field_trials, Timestamp creation_time) { @@ -85,7 +78,6 @@ PacingController::PacingController(Clock* clock, pace_audio_(IsEnabled(field_trials_, "WebRTC-Pacer-BlockAudio")), ignore_transport_overhead_( IsEnabled(field_trials_, "WebRTC-Pacer-IgnoreTransportOverhead")), - padding_target_duration_(GetDynamicPaddingTarget(field_trials_)), min_packet_limit_(kDefaultMinPacketLimit), transport_overhead_per_packet_(DataSize::Zero()), send_burst_interval_(TimeDelta::Zero()), @@ -571,7 +563,7 @@ DataSize PacingController::PaddingToAdd(DataSize recommended_probe_size, } if (padding_rate_ > DataRate::Zero() && padding_debt_ == DataSize::Zero()) { - return padding_target_duration_ * padding_rate_; + return kTargetPaddingDuration * padding_rate_; } return DataSize::Zero(); } diff --git a/modules/pacing/pacing_controller.h b/modules/pacing/pacing_controller.h index b8cbc8861e..c0a69266a0 100644 --- a/modules/pacing/pacing_controller.h +++ b/modules/pacing/pacing_controller.h @@ -229,9 +229,6 @@ class PacingController { const bool send_padding_if_silent_; const bool pace_audio_; const bool ignore_transport_overhead_; - // In dynamic mode, indicates the target size when requesting padding, - // expressed as a duration in order to adjust for varying padding rate. - const TimeDelta padding_target_duration_; TimeDelta min_packet_limit_; DataSize transport_overhead_per_packet_; diff --git a/modules/pacing/pacing_controller_unittest.cc b/modules/pacing/pacing_controller_unittest.cc index 79ab5ee5f4..0248f93ae1 100644 --- a/modules/pacing/pacing_controller_unittest.cc +++ b/modules/pacing/pacing_controller_unittest.cc @@ -1812,14 +1812,11 @@ TEST_F(PacingControllerTest, NextSendTimeAccountsForPadding) { } TEST_F(PacingControllerTest, PaddingTargetAccountsForPaddingRate) { - // Re-init pacer with an explicitly set padding target of 10ms; - const TimeDelta kPaddingTarget = TimeDelta::Millis(10); - ExplicitKeyValueConfig field_trials( - "WebRTC-Pacer-DynamicPaddingTarget/timedelta:10ms/"); + // Target size for a padding packet is 5ms * padding rate. + const TimeDelta kPaddingTarget = TimeDelta::Millis(5); srand(0); // Need to initialize PacingController after we initialize clock. - auto pacer = - std::make_unique(&clock_, &callback_, field_trials); + auto pacer = std::make_unique(&clock_, &callback_, trials_); const uint32_t kSsrc = 12345; const DataRate kPacingDataRate = DataRate::KilobitsPerSec(125);