Remove APM-internal usage of EchoControlMobile
This is a sibling CL to a similar one for EchoCancellation: https://webrtc-review.googlesource.com/c/src/+/97603 - EchoControlMobileImpl will no longer inherit EchoControlMobile. - Removes usage of AudioProcessing::echo_control_mobile() inside most of the audio processing module and unit tests. The CL breaks audioproc_f backwards compatibility: It can no longer use all recorded settings (comfort noise, routing mode), but prints an error message when unsupported settings are encountered. Tested: audioproc_f with .wav and aecdump inputs. Bug: webrtc:9535 Change-Id: I63c3c81bcaf44021315978e1a0f3e42173b988ce Reviewed-on: https://webrtc-review.googlesource.com/101621 Reviewed-by: Alex Loiko <aleloi@webrtc.org> Commit-Queue: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24888}
This commit is contained in:
committed by
Commit Bot
parent
d9664b8249
commit
2fbb83b16b
@ -10,10 +10,10 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "modules/audio_processing/echo_control_mobile_impl.h"
|
||||
#include "modules/audio_processing/test/aec_dump_based_simulator.h"
|
||||
#include "modules/audio_processing/test/runtime_setting_util.h"
|
||||
|
||||
#include "modules/audio_processing/test/protobuf_utils.h"
|
||||
#include "modules/audio_processing/test/runtime_setting_util.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
@ -347,30 +347,16 @@ void AecDumpBasedSimulator::HandleMessage(
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.has_aecm_comfort_noise_enabled() ||
|
||||
settings_.use_aecm_comfort_noise) {
|
||||
bool enable = settings_.use_aecm_comfort_noise
|
||||
? *settings_.use_aecm_comfort_noise
|
||||
: msg.aecm_comfort_noise_enabled();
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
ap_->echo_control_mobile()->enable_comfort_noise(enable));
|
||||
if (settings_.use_verbose_logging) {
|
||||
std::cout << " aecm_comfort_noise_enabled: "
|
||||
<< (enable ? "true" : "false") << std::endl;
|
||||
}
|
||||
if (msg.has_aecm_comfort_noise_enabled() &&
|
||||
msg.aecm_comfort_noise_enabled()) {
|
||||
RTC_LOG(LS_ERROR) << "Ignoring deprecated setting: AECM comfort noise";
|
||||
}
|
||||
|
||||
if (msg.has_aecm_routing_mode() || settings_.aecm_routing_mode) {
|
||||
int routing_mode = settings_.aecm_routing_mode
|
||||
? *settings_.aecm_routing_mode
|
||||
: msg.aecm_routing_mode();
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
ap_->echo_control_mobile()->set_routing_mode(
|
||||
static_cast<webrtc::EchoControlMobile::RoutingMode>(
|
||||
routing_mode)));
|
||||
if (settings_.use_verbose_logging) {
|
||||
std::cout << " aecm_routing_mode: " << routing_mode << std::endl;
|
||||
}
|
||||
if (msg.has_aecm_routing_mode() &&
|
||||
static_cast<webrtc::EchoControlMobileImpl::RoutingMode>(
|
||||
msg.aecm_routing_mode()) != EchoControlMobileImpl::kSpeakerphone) {
|
||||
RTC_LOG(LS_ERROR) << "Ignoring deprecated setting: AECM routing mode: "
|
||||
<< msg.aecm_routing_mode();
|
||||
}
|
||||
|
||||
if (msg.has_agc_enabled() || settings_.use_agc) {
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
#include "api/audio/echo_canceller3_factory.h"
|
||||
#include "common_audio/include/audio_util.h"
|
||||
#include "modules/audio_processing/aec_dump/aec_dump_factory.h"
|
||||
#include "modules/audio_processing/echo_control_mobile_impl.h"
|
||||
#include "modules/audio_processing/include/audio_processing.h"
|
||||
#include "modules/audio_processing/test/fake_recording_device.h"
|
||||
#include "rtc_base/checks.h"
|
||||
@ -1034,19 +1035,6 @@ void AudioProcessingSimulator::CreateAudioProcessor() {
|
||||
static_cast<webrtc::GainControl::Mode>(*settings_.agc_mode)));
|
||||
}
|
||||
|
||||
if (settings_.aecm_routing_mode) {
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
ap_->echo_control_mobile()->set_routing_mode(
|
||||
static_cast<webrtc::EchoControlMobile::RoutingMode>(
|
||||
*settings_.aecm_routing_mode)));
|
||||
}
|
||||
|
||||
if (settings_.use_aecm_comfort_noise) {
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
ap_->echo_control_mobile()->enable_comfort_noise(
|
||||
*settings_.use_aecm_comfort_noise));
|
||||
}
|
||||
|
||||
if (settings_.vad_likelihood) {
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
ap_->voice_detection()->set_likelihood(
|
||||
|
||||
@ -69,8 +69,6 @@ struct SimulationSettings {
|
||||
absl::optional<bool> use_experimental_agc_agc2_level_estimator;
|
||||
absl::optional<bool> experimental_agc_disable_digital_adaptive;
|
||||
absl::optional<bool> experimental_agc_analyze_before_aec;
|
||||
absl::optional<int> aecm_routing_mode;
|
||||
absl::optional<bool> use_aecm_comfort_noise;
|
||||
absl::optional<int> agc_mode;
|
||||
absl::optional<int> agc_target_level;
|
||||
absl::optional<bool> use_agc_limiter;
|
||||
|
||||
@ -129,12 +129,6 @@ DEFINE_int(
|
||||
refined_adaptive_filter,
|
||||
kParameterNotSpecifiedValue,
|
||||
"Activate (1) or deactivate(0) the refined adaptive filter functionality");
|
||||
DEFINE_int(aecm_routing_mode,
|
||||
kParameterNotSpecifiedValue,
|
||||
"Specify the AECM routing mode (0-4)");
|
||||
DEFINE_int(aecm_comfort_noise,
|
||||
kParameterNotSpecifiedValue,
|
||||
"Activate (1) or deactivate(0) the AECM comfort noise");
|
||||
DEFINE_int(agc_mode, kParameterNotSpecifiedValue, "Specify the AGC mode (0-2)");
|
||||
DEFINE_int(agc_target_level,
|
||||
kParameterNotSpecifiedValue,
|
||||
@ -270,9 +264,6 @@ SimulationSettings CreateSettings() {
|
||||
&settings.experimental_agc_analyze_before_aec);
|
||||
SetSettingIfFlagSet(FLAG_experimental_agc_agc2_level_estimator,
|
||||
&settings.use_experimental_agc_agc2_level_estimator);
|
||||
SetSettingIfSpecified(FLAG_aecm_routing_mode, &settings.aecm_routing_mode);
|
||||
SetSettingIfFlagSet(FLAG_aecm_comfort_noise,
|
||||
&settings.use_aecm_comfort_noise);
|
||||
SetSettingIfSpecified(FLAG_agc_mode, &settings.agc_mode);
|
||||
SetSettingIfSpecified(FLAG_agc_target_level, &settings.agc_target_level);
|
||||
SetSettingIfFlagSet(FLAG_agc_limiter, &settings.use_agc_limiter);
|
||||
@ -367,11 +358,6 @@ void PerformBasicParameterSanityChecks(const SimulationSettings& settings) {
|
||||
"specified between 1 and 2. 0 is "
|
||||
"deprecated.\n");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
settings.aecm_routing_mode && ((*settings.aecm_routing_mode) < 0 ||
|
||||
(*settings.aecm_routing_mode) > 4),
|
||||
"Error: --aecm_routing_mode must be specified between 0 and 4.\n");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
settings.agc_target_level && ((*settings.agc_target_level) < 0 ||
|
||||
(*settings.agc_target_level) > 31),
|
||||
|
||||
@ -218,17 +218,6 @@ void DebugDumpReplayer::ConfigureApm(const audioproc::Config& msg) {
|
||||
msg.aec_suppression_level()) ==
|
||||
EchoCancellation::SuppressionLevel::kModerateSuppression;
|
||||
|
||||
RTC_CHECK(msg.has_aecm_comfort_noise_enabled());
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
apm_->echo_control_mobile()->enable_comfort_noise(
|
||||
msg.aecm_comfort_noise_enabled()));
|
||||
|
||||
RTC_CHECK(msg.has_aecm_routing_mode());
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
apm_->echo_control_mobile()->set_routing_mode(
|
||||
static_cast<EchoControlMobile::RoutingMode>(
|
||||
msg.aecm_routing_mode())));
|
||||
|
||||
// AGC configs.
|
||||
RTC_CHECK(msg.has_agc_enabled());
|
||||
RTC_CHECK_EQ(AudioProcessing::kNoError,
|
||||
|
||||
Reference in New Issue
Block a user