WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 10/inf

This patch takes a stab at modules/video_coding,
but reaches only about half.

Bug: webrtc:10335
Change-Id: I0d47d0468b818145470c51ae4e8e75ff58d499ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256112
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36335}
This commit is contained in:
Jonas Oreland
2022-03-25 12:43:14 +01:00
committed by WebRTC LUCI CQ
parent 2ff465f506
commit e02f9eedb3
55 changed files with 330 additions and 173 deletions

View File

@ -17,6 +17,7 @@ rtc_library("nack_module") {
deps = [
"..:nack_requester",
"../..:module_api",
"../../../api:webrtc_key_value_config",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
@ -27,7 +28,6 @@ rtc_library("nack_module") {
"../../../rtc_base/experiments:field_trial_parser",
"../../../rtc_base/synchronization:mutex",
"../../../system_wrappers",
"../../../system_wrappers:field_trial",
"../../utility",
]
absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]

View File

@ -18,7 +18,6 @@
#include "rtc_base/checks.h"
#include "rtc_base/experiments/field_trial_parser.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/field_trial.h"
namespace webrtc {
@ -33,10 +32,9 @@ const int kMaxReorderedPackets = 128;
const int kNumReorderingBuckets = 10;
const int kDefaultSendNackDelayMs = 0;
int64_t GetSendNackDelay() {
int64_t GetSendNackDelay(const WebRtcKeyValueConfig& field_trials) {
int64_t delay_ms = strtol(
webrtc::field_trial::FindFullName("WebRTC-SendNackDelayMs").c_str(),
nullptr, 10);
field_trials.Lookup("WebRTC-SendNackDelayMs").c_str(), nullptr, 10);
if (delay_ms > 0 && delay_ms <= 20) {
RTC_LOG(LS_INFO) << "SendNackDelay is set to " << delay_ms;
return delay_ms;
@ -63,7 +61,8 @@ DEPRECATED_NackModule::BackoffSettings::BackoffSettings(TimeDelta min_retry,
: min_retry_interval(min_retry), max_rtt(max_rtt), base(base) {}
absl::optional<DEPRECATED_NackModule::BackoffSettings>
DEPRECATED_NackModule::BackoffSettings::ParseFromFieldTrials() {
DEPRECATED_NackModule::BackoffSettings::ParseFromFieldTrials(
const WebRtcKeyValueConfig& field_trials) {
// Matches magic number in RTPSender::OnReceivedNack().
const TimeDelta kDefaultMinRetryInterval = TimeDelta::Millis(5);
// Upper bound on link-delay considered for exponential backoff.
@ -79,7 +78,7 @@ DEPRECATED_NackModule::BackoffSettings::ParseFromFieldTrials() {
FieldTrialParameter<TimeDelta> max_rtt("max_rtt", kDefaultMaxRtt);
FieldTrialParameter<double> base("base", kDefaultBase);
ParseFieldTrial({&enabled, &min_retry, &max_rtt, &base},
field_trial::FindFullName("WebRTC-ExponentialNackBackoff"));
field_trials.Lookup("WebRTC-ExponentialNackBackoff"));
if (enabled) {
return DEPRECATED_NackModule::BackoffSettings(min_retry.Get(),
@ -91,7 +90,8 @@ DEPRECATED_NackModule::BackoffSettings::ParseFromFieldTrials() {
DEPRECATED_NackModule::DEPRECATED_NackModule(
Clock* clock,
NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender)
KeyFrameRequestSender* keyframe_request_sender,
const WebRtcKeyValueConfig& field_trials)
: clock_(clock),
nack_sender_(nack_sender),
keyframe_request_sender_(keyframe_request_sender),
@ -100,8 +100,8 @@ DEPRECATED_NackModule::DEPRECATED_NackModule(
rtt_ms_(kDefaultRttMs),
newest_seq_num_(0),
next_process_time_ms_(-1),
send_nack_delay_ms_(GetSendNackDelay()),
backoff_settings_(BackoffSettings::ParseFromFieldTrials()) {
send_nack_delay_ms_(GetSendNackDelay(field_trials)),
backoff_settings_(BackoffSettings::ParseFromFieldTrials(field_trials)) {
RTC_DCHECK(clock_);
RTC_DCHECK(nack_sender_);
RTC_DCHECK(keyframe_request_sender_);

View File

@ -19,6 +19,7 @@
#include "absl/base/attributes.h"
#include "api/units/time_delta.h"
#include "api/webrtc_key_value_config.h"
#include "modules/include/module.h"
#include "modules/include/module_common_types.h"
#include "modules/video_coding/histogram.h"
@ -33,7 +34,8 @@ class DEPRECATED_NackModule : public Module {
public:
DEPRECATED_NackModule(Clock* clock,
NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender);
KeyFrameRequestSender* keyframe_request_sender,
const WebRtcKeyValueConfig& field_trials);
int OnReceivedPacket(uint16_t seq_num, bool is_keyframe);
int OnReceivedPacket(uint16_t seq_num, bool is_keyframe, bool is_recovered);
@ -69,7 +71,8 @@ class DEPRECATED_NackModule : public Module {
struct BackoffSettings {
BackoffSettings(TimeDelta min_retry, TimeDelta max_rtt, double base);
static absl::optional<BackoffSettings> ParseFromFieldTrials();
static absl::optional<BackoffSettings> ParseFromFieldTrials(
const WebRtcKeyValueConfig& field_trials);
// Min time between nacks.
const TimeDelta min_retry_interval;