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}
This commit is contained in:
Alejandro Luebs
2016-07-01 17:19:09 -07:00
parent 1aa821980d
commit f4022ffa1a
13 changed files with 193 additions and 186 deletions

View File

@ -31,8 +31,7 @@ struct AecCore;
class AudioFrame;
template<typename T>
class Beamformer;
class NonlinearBeamformer;
class StreamConfig;
class ProcessingConfig;
@ -275,7 +274,7 @@ class AudioProcessing {
static AudioProcessing* Create(const Config& config);
// Only for testing.
static AudioProcessing* Create(const Config& config,
Beamformer<float>* beamformer);
NonlinearBeamformer* beamformer);
virtual ~AudioProcessing() {}
// Initializes internal states, while retaining all user settings. This