Pull out the PostFilter to its own NonlinearBeamformer API
This is done to avoid having a nonlinear component in the AEC path.
Now the linear delay and sum is run before the AEC and the postfilter after it.
This change landed originally at: https://codereview.webrtc.org/1982183002/
R=peah@webrtc.org
TBR=henrik.lundin@webrtc.org
Review URL: https://codereview.webrtc.org/2110593003 .
Cr-Commit-Position: refs/heads/master@{#13371}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index a79d028..4b9011d 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -36,8 +36,7 @@
class AgcManagerDirect;
class AudioConverter;
-template<typename T>
-class Beamformer;
+class NonlinearBeamformer;
class AudioProcessingImpl : public AudioProcessing {
public:
@@ -45,7 +44,7 @@
// Acquires both the render and capture locks.
explicit AudioProcessingImpl(const Config& config);
// AudioProcessingImpl takes ownership of beamformer.
- AudioProcessingImpl(const Config& config, Beamformer<float>* beamformer);
+ AudioProcessingImpl(const Config& config, NonlinearBeamformer* beamformer);
virtual ~AudioProcessingImpl();
int Initialize() override;
int Initialize(int input_sample_rate_hz,