Revert "Remove legacy delay manger field trial and update default config."
This reverts commit 93849d4b2a976b0a46059d6f74d9efd8f12eab92. Reason for revert: AcmReceiverBitExactnessOldApi tests failing on MacARM64; first failing build https://ci.chromium.org/ui/p/webrtc/builders/ci/MacARM64%20M1%20Release/1038/overview Example faliure [ RUN ] AcmReceiverBitExactnessOldApi.8kHzOutput ... (rtp_file_reader.cc:165): Failed to read ../../modules/audio_coding/acm2/audio_coding_module_unittest.cc:912: Failure Expected equality of these values: checksum_ref Which is: "636efe6d0a148f22c5383f356da3deac" checksum_string Which is: "6a288942d67e82076b38b17777cdaee4" Original change's description: > Remove legacy delay manger field trial and update default config. > > Bug: webrtc:10333 > Change-Id: I20e55d8d111d93657d1afe556fe3a325337c074c > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232820 > Reviewed-by: Ivo Creusen <ivoc@webrtc.org> > Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#35321} TBR=ivoc@webrtc.org,jakobi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I0bd3832aacba8dcd8e836650786cea20b4c083be No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10333 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237441 Reviewed-by: Olga Sharonova <olka@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Commit-Queue: Olga Sharonova <olka@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35324}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
42a850d250
commit
46814941f2
@ -20,7 +20,6 @@
|
||||
|
||||
#include "modules/include/module_common_types_public.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/experiments/struct_parameters_parser.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
#include "rtc_base/numerics/safe_minmax.h"
|
||||
@ -46,17 +45,9 @@ std::unique_ptr<ReorderOptimizer> MaybeCreateReorderOptimizer(
|
||||
} // namespace
|
||||
|
||||
DelayManager::Config::Config() {
|
||||
StructParametersParser::Create( //
|
||||
"quantile", &quantile, //
|
||||
"forget_factor", &forget_factor, //
|
||||
"start_forget_weight", &start_forget_weight, //
|
||||
"resample_interval_ms", &resample_interval_ms, //
|
||||
"max_history_ms", &max_history_ms, //
|
||||
"use_reorder_optimizer", &use_reorder_optimizer, //
|
||||
"reorder_forget_factor", &reorder_forget_factor, //
|
||||
"ms_per_loss_percent", &ms_per_loss_percent)
|
||||
->Parse(webrtc::field_trial::FindFullName(
|
||||
"WebRTC-Audio-NetEqDelayManagerConfig"));
|
||||
Parser()->Parse(webrtc::field_trial::FindFullName(
|
||||
"WebRTC-Audio-NetEqDelayManagerConfig"));
|
||||
MaybeUpdateFromLegacyFieldTrial();
|
||||
}
|
||||
|
||||
void DelayManager::Config::Log() {
|
||||
@ -72,6 +63,42 @@ void DelayManager::Config::Log() {
|
||||
<< " ms_per_loss_percent=" << ms_per_loss_percent;
|
||||
}
|
||||
|
||||
std::unique_ptr<StructParametersParser> DelayManager::Config::Parser() {
|
||||
return StructParametersParser::Create( //
|
||||
"quantile", &quantile, //
|
||||
"forget_factor", &forget_factor, //
|
||||
"start_forget_weight", &start_forget_weight, //
|
||||
"resample_interval_ms", &resample_interval_ms, //
|
||||
"max_history_ms", &max_history_ms, //
|
||||
"use_reorder_optimizer", &use_reorder_optimizer, //
|
||||
"reorder_forget_factor", &reorder_forget_factor, //
|
||||
"ms_per_loss_percent", &ms_per_loss_percent);
|
||||
}
|
||||
|
||||
// TODO(jakobi): remove legacy field trial.
|
||||
void DelayManager::Config::MaybeUpdateFromLegacyFieldTrial() {
|
||||
constexpr char kDelayHistogramFieldTrial[] =
|
||||
"WebRTC-Audio-NetEqDelayHistogram";
|
||||
if (!webrtc::field_trial::IsEnabled(kDelayHistogramFieldTrial)) {
|
||||
return;
|
||||
}
|
||||
const auto field_trial_string =
|
||||
webrtc::field_trial::FindFullName(kDelayHistogramFieldTrial);
|
||||
double percentile = -1.0;
|
||||
double forget_factor = -1.0;
|
||||
double start_forget_weight = -1.0;
|
||||
if (sscanf(field_trial_string.c_str(), "Enabled-%lf-%lf-%lf", &percentile,
|
||||
&forget_factor, &start_forget_weight) >= 2 &&
|
||||
percentile >= 0.0 && percentile <= 100.0 && forget_factor >= 0.0 &&
|
||||
forget_factor <= 1.0) {
|
||||
this->quantile = percentile / 100;
|
||||
this->forget_factor = forget_factor;
|
||||
this->start_forget_weight = start_forget_weight >= 1
|
||||
? absl::make_optional(start_forget_weight)
|
||||
: absl::nullopt;
|
||||
}
|
||||
}
|
||||
|
||||
DelayManager::DelayManager(const Config& config, const TickTimer* tick_timer)
|
||||
: max_packets_in_buffer_(config.max_packets_in_buffer),
|
||||
underrun_optimizer_(tick_timer,
|
||||
|
||||
Reference in New Issue
Block a user