Add AEC proxies for simple deprecation of AEC configurability.
Some changes need access to both the APM interface and the AECs, hence we can't make the changes inside the AECs themselves. The proxies also make it easy to drop support for individual parts of the interfaces one at a time. Bug: webrtc:9535 Change-Id: I3398e1182157f7d8b1e4c455060b830b61c20dd9 Reviewed-on: https://webrtc-review.googlesource.com/94500 Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org> Commit-Queue: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24317}
This commit is contained in:

committed by
Commit Bot

parent
84ccb2de77
commit
74ed734d71
@ -24,7 +24,9 @@
|
||||
#include "modules/audio_processing/audio_buffer.h"
|
||||
#include "modules/audio_processing/common.h"
|
||||
#include "modules/audio_processing/echo_cancellation_impl.h"
|
||||
#include "modules/audio_processing/echo_cancellation_proxy.h"
|
||||
#include "modules/audio_processing/echo_control_mobile_impl.h"
|
||||
#include "modules/audio_processing/echo_control_mobile_proxy.h"
|
||||
#include "modules/audio_processing/gain_control_for_experimental_agc.h"
|
||||
#include "modules/audio_processing/gain_control_impl.h"
|
||||
#include "modules/audio_processing/gain_controller2.h"
|
||||
@ -264,6 +266,8 @@ struct AudioProcessingImpl::ApmPublicSubmodules {
|
||||
// Accessed externally of APM without any lock acquired.
|
||||
std::unique_ptr<EchoCancellationImpl> echo_cancellation;
|
||||
std::unique_ptr<EchoControlMobileImpl> echo_control_mobile;
|
||||
std::unique_ptr<EchoCancellationProxy> echo_cancellation_proxy;
|
||||
std::unique_ptr<EchoControlMobileProxy> echo_control_mobile_proxy;
|
||||
std::unique_ptr<GainControlImpl> gain_control;
|
||||
std::unique_ptr<LevelEstimatorImpl> level_estimator;
|
||||
std::unique_ptr<NoiseSuppressionImpl> noise_suppression;
|
||||
@ -394,6 +398,11 @@ AudioProcessingImpl::AudioProcessingImpl(
|
||||
new EchoCancellationImpl(&crit_render_, &crit_capture_));
|
||||
public_submodules_->echo_control_mobile.reset(
|
||||
new EchoControlMobileImpl(&crit_render_, &crit_capture_));
|
||||
public_submodules_->echo_cancellation_proxy.reset(new EchoCancellationProxy(
|
||||
this, public_submodules_->echo_cancellation.get()));
|
||||
public_submodules_->echo_control_mobile_proxy.reset(
|
||||
new EchoControlMobileProxy(
|
||||
this, public_submodules_->echo_control_mobile.get()));
|
||||
public_submodules_->gain_control.reset(
|
||||
new GainControlImpl(&crit_render_, &crit_capture_));
|
||||
public_submodules_->level_estimator.reset(
|
||||
@ -1714,11 +1723,11 @@ AudioProcessingStats AudioProcessingImpl::GetStatistics(
|
||||
}
|
||||
|
||||
EchoCancellation* AudioProcessingImpl::echo_cancellation() const {
|
||||
return public_submodules_->echo_cancellation.get();
|
||||
return public_submodules_->echo_cancellation_proxy.get();
|
||||
}
|
||||
|
||||
EchoControlMobile* AudioProcessingImpl::echo_control_mobile() const {
|
||||
return public_submodules_->echo_control_mobile.get();
|
||||
return public_submodules_->echo_control_mobile_proxy.get();
|
||||
}
|
||||
|
||||
GainControl* AudioProcessingImpl::gain_control() const {
|
||||
|
Reference in New Issue
Block a user