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:
committed by
WebRTC LUCI CQ
parent
2ff465f506
commit
e02f9eedb3
@ -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" ]
|
||||
|
||||
@ -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_);
|
||||
|
||||
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user