The aecdump config message requires a lot of duplication and boilerplate in exchange for being able to read the config back at offline simulation time. The message tends to slip out of sync with APM configuration, missing many important parameters which hampers reproducibility. This CL adds many recently added parameters to the dump message, and makes the message more likely to contain future parameters as well. This creates some redundancy with older params. They are kept in, to maintain the ability to parse old aecdumps and to keep our existing (limited) reproducibility with audioproc_f. Bug: webrtc:42224259, webrtc:442444736, b:428638881 Change-Id: Ib6e57435a58b0ed417c83ecc627678adb0d0164f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/444260 Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org> Commit-Queue: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46771}
40 lines
1.9 KiB
C++
40 lines
1.9 KiB
C++
/*
|
|
* Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "modules/audio_processing/include/aec_dump.h"
|
|
|
|
namespace webrtc {
|
|
InternalAPMConfig::InternalAPMConfig() = default;
|
|
InternalAPMConfig::InternalAPMConfig(const InternalAPMConfig&) = default;
|
|
InternalAPMConfig::InternalAPMConfig(InternalAPMConfig&&) = default;
|
|
InternalAPMConfig& InternalAPMConfig::operator=(const InternalAPMConfig&) =
|
|
default;
|
|
|
|
bool InternalAPMConfig::operator==(const InternalAPMConfig& other) const {
|
|
return aec_enabled == other.aec_enabled &&
|
|
aec_delay_agnostic_enabled == other.aec_delay_agnostic_enabled &&
|
|
aec_drift_compensation_enabled ==
|
|
other.aec_drift_compensation_enabled &&
|
|
aec_extended_filter_enabled == other.aec_extended_filter_enabled &&
|
|
aec_suppression_level == other.aec_suppression_level &&
|
|
agc_enabled == other.agc_enabled && agc_mode == other.agc_mode &&
|
|
agc_limiter_enabled == other.agc_limiter_enabled &&
|
|
hpf_enabled == other.hpf_enabled && ns_enabled == other.ns_enabled &&
|
|
ns_level == other.ns_level &&
|
|
transient_suppression_enabled == other.transient_suppression_enabled &&
|
|
noise_robust_agc_enabled == other.noise_robust_agc_enabled &&
|
|
pre_amplifier_enabled == other.pre_amplifier_enabled &&
|
|
pre_amplifier_fixed_gain_factor ==
|
|
other.pre_amplifier_fixed_gain_factor &&
|
|
experiments_description == other.experiments_description &&
|
|
api_config_string == other.api_config_string;
|
|
}
|
|
} // namespace webrtc
|