Remove WebRTC-Pacer-DynamicPaddingTarget field trial
Bug: webrtc:10809 Change-Id: I9f4adbea5721408b339bbf7497c20834537e50c0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268145 Auto-Submit: Erik Språng <sprang@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37480}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
b858d3f53e
commit
c52e627c83
@ -35,6 +35,7 @@ constexpr TimeDelta kCongestedPacketInterval = TimeDelta::Millis(500);
|
|||||||
// The maximum debt level, in terms of time, capped when sending packets.
|
// The maximum debt level, in terms of time, capped when sending packets.
|
||||||
constexpr TimeDelta kMaxDebtInTime = TimeDelta::Millis(500);
|
constexpr TimeDelta kMaxDebtInTime = TimeDelta::Millis(500);
|
||||||
constexpr TimeDelta kMaxElapsedTime = TimeDelta::Seconds(2);
|
constexpr TimeDelta kMaxElapsedTime = TimeDelta::Seconds(2);
|
||||||
|
constexpr TimeDelta kTargetPaddingDuration = TimeDelta::Millis(5);
|
||||||
|
|
||||||
bool IsDisabled(const FieldTrialsView& field_trials, absl::string_view key) {
|
bool IsDisabled(const FieldTrialsView& field_trials, absl::string_view key) {
|
||||||
return absl::StartsWith(field_trials.Lookup(key), "Disabled");
|
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");
|
return absl::StartsWith(field_trials.Lookup(key), "Enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
TimeDelta GetDynamicPaddingTarget(const FieldTrialsView& field_trials) {
|
|
||||||
FieldTrialParameter<TimeDelta> padding_target("timedelta",
|
|
||||||
TimeDelta::Millis(5));
|
|
||||||
ParseFieldTrial({&padding_target},
|
|
||||||
field_trials.Lookup("WebRTC-Pacer-DynamicPaddingTarget"));
|
|
||||||
return padding_target.Get();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::unique_ptr<PacingController::PacketQueue> CreatePacketQueue(
|
std::unique_ptr<PacingController::PacketQueue> CreatePacketQueue(
|
||||||
const FieldTrialsView& field_trials,
|
const FieldTrialsView& field_trials,
|
||||||
Timestamp creation_time) {
|
Timestamp creation_time) {
|
||||||
@ -85,7 +78,6 @@ PacingController::PacingController(Clock* clock,
|
|||||||
pace_audio_(IsEnabled(field_trials_, "WebRTC-Pacer-BlockAudio")),
|
pace_audio_(IsEnabled(field_trials_, "WebRTC-Pacer-BlockAudio")),
|
||||||
ignore_transport_overhead_(
|
ignore_transport_overhead_(
|
||||||
IsEnabled(field_trials_, "WebRTC-Pacer-IgnoreTransportOverhead")),
|
IsEnabled(field_trials_, "WebRTC-Pacer-IgnoreTransportOverhead")),
|
||||||
padding_target_duration_(GetDynamicPaddingTarget(field_trials_)),
|
|
||||||
min_packet_limit_(kDefaultMinPacketLimit),
|
min_packet_limit_(kDefaultMinPacketLimit),
|
||||||
transport_overhead_per_packet_(DataSize::Zero()),
|
transport_overhead_per_packet_(DataSize::Zero()),
|
||||||
send_burst_interval_(TimeDelta::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()) {
|
if (padding_rate_ > DataRate::Zero() && padding_debt_ == DataSize::Zero()) {
|
||||||
return padding_target_duration_ * padding_rate_;
|
return kTargetPaddingDuration * padding_rate_;
|
||||||
}
|
}
|
||||||
return DataSize::Zero();
|
return DataSize::Zero();
|
||||||
}
|
}
|
||||||
|
@ -229,9 +229,6 @@ class PacingController {
|
|||||||
const bool send_padding_if_silent_;
|
const bool send_padding_if_silent_;
|
||||||
const bool pace_audio_;
|
const bool pace_audio_;
|
||||||
const bool ignore_transport_overhead_;
|
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_;
|
TimeDelta min_packet_limit_;
|
||||||
DataSize transport_overhead_per_packet_;
|
DataSize transport_overhead_per_packet_;
|
||||||
|
@ -1812,14 +1812,11 @@ TEST_F(PacingControllerTest, NextSendTimeAccountsForPadding) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(PacingControllerTest, PaddingTargetAccountsForPaddingRate) {
|
TEST_F(PacingControllerTest, PaddingTargetAccountsForPaddingRate) {
|
||||||
// Re-init pacer with an explicitly set padding target of 10ms;
|
// Target size for a padding packet is 5ms * padding rate.
|
||||||
const TimeDelta kPaddingTarget = TimeDelta::Millis(10);
|
const TimeDelta kPaddingTarget = TimeDelta::Millis(5);
|
||||||
ExplicitKeyValueConfig field_trials(
|
|
||||||
"WebRTC-Pacer-DynamicPaddingTarget/timedelta:10ms/");
|
|
||||||
srand(0);
|
srand(0);
|
||||||
// Need to initialize PacingController after we initialize clock.
|
// Need to initialize PacingController after we initialize clock.
|
||||||
auto pacer =
|
auto pacer = std::make_unique<PacingController>(&clock_, &callback_, trials_);
|
||||||
std::make_unique<PacingController>(&clock_, &callback_, field_trials);
|
|
||||||
|
|
||||||
const uint32_t kSsrc = 12345;
|
const uint32_t kSsrc = 12345;
|
||||||
const DataRate kPacingDataRate = DataRate::KilobitsPerSec(125);
|
const DataRate kPacingDataRate = DataRate::KilobitsPerSec(125);
|
||||||
|
Reference in New Issue
Block a user