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.

R=henrik.lundin@webrtc.org, peah@webrtc.org

Review URL: https://codereview.webrtc.org/1982183002 .

Cr-Commit-Position: refs/heads/master@{#13314}
This commit is contained in:
Alejandro Luebs
2016-06-28 10:02:44 -07:00
parent d00c05788f
commit b983112bc7
13 changed files with 177 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;
@ -267,7 +266,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