Index: webrtc/modules/audio_processing/audio_processing_impl.h |
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h |
index 5ab32ec8d10fa416b7da9f2a66398ebc955fb384..d171715a96412642e98df7dc68bef60d4105f621 100644 |
--- a/webrtc/modules/audio_processing/audio_processing_impl.h |
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h |
@@ -17,6 +17,7 @@ |
#include <vector> |
#include "webrtc/base/criticalsection.h" |
+#include "webrtc/base/function_view.h" |
#include "webrtc/base/gtest_prod_util.h" |
#include "webrtc/base/ignore_wundef.h" |
#include "webrtc/base/swap_queue.h" |
@@ -126,11 +127,16 @@ class AudioProcessingImpl : public AudioProcessing { |
EchoCancellation* echo_cancellation() const override; |
EchoControlMobile* echo_control_mobile() const override; |
GainControl* gain_control() const override; |
+ // TODO(peah): Deprecate this API call. |
HighPassFilter* high_pass_filter() const override; |
LevelEstimator* level_estimator() const override; |
NoiseSuppression* noise_suppression() const override; |
VoiceDetection* voice_detection() const override; |
+ // TODO(peah): Remove these two methods once the new API allows that. |
+ void MutateConfig(rtc::FunctionView<void(AudioProcessing::Config*)> mutator); |
+ AudioProcessing::Config GetConfig() const; |
+ |
protected: |
// Overridden in a mock. |
virtual int InitializeLocked() |
@@ -145,11 +151,14 @@ class AudioProcessingImpl : public AudioProcessing { |
struct ApmPublicSubmodules; |
struct ApmPrivateSubmodules; |
+ // Submodule interface implementations. |
+ std::unique_ptr<HighPassFilter> high_pass_filter_impl_; |
+ |
class ApmSubmoduleStates { |
public: |
ApmSubmoduleStates(); |
// Updates the submodule state and returns true if it has changed. |
- bool Update(bool high_pass_filter_enabled, |
+ bool Update(bool low_cut_filter_enabled, |
bool echo_canceller_enabled, |
bool mobile_echo_controller_enabled, |
bool residual_echo_detector_enabled, |
@@ -167,7 +176,7 @@ class AudioProcessingImpl : public AudioProcessing { |
bool RenderMultiBandProcessingActive() const; |
private: |
- bool high_pass_filter_enabled_ = false; |
+ bool low_cut_filter_enabled_ = false; |
bool echo_canceller_enabled_ = false; |
bool mobile_echo_controller_enabled_ = false; |
bool residual_echo_detector_enabled_ = false; |
@@ -240,6 +249,7 @@ class AudioProcessingImpl : public AudioProcessing { |
void InitializeLevelController() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_); |
void InitializeResidualEchoDetector() |
EXCLUSIVE_LOCKS_REQUIRED(crit_render_, crit_capture_); |
+ void InitializeLowCutFilter() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_); |
void EmptyQueuedRenderAudio(); |
void AllocateRenderQueue() |