Add PostProcessing interface to audio processing module.

This CL adds an interface for a generic PostProcessing module that
is optionally added to the APM at construction time.

(Parenthetically this CL also adds a missing lock check to
InitializeGainController2.)

Bug: webrtc:8201
Change-Id: I7de64cf8d5335ecec450da8a961660906141d42a
Reviewed-on: https://webrtc-review.googlesource.com/1570
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19973}
This commit is contained in:
Sam Zackrisson
2017-09-25 12:04:02 +02:00
committed by Commit Bot
parent 81a58c7d81
commit 0beac583bb
5 changed files with 102 additions and 17 deletions

View File

@ -104,6 +104,14 @@ class MockNoiseSuppression : public NoiseSuppression {
MOCK_METHOD0(NoiseEstimate, std::vector<float>());
};
class MockPostProcessing : public PostProcessing {
public:
virtual ~MockPostProcessing() {}
MOCK_METHOD2(Initialize, void(int sample_rate_hz, int num_channels));
MOCK_METHOD1(Process, void(AudioBuffer* audio));
MOCK_CONST_METHOD0(ToString, std::string());
};
class MockVoiceDetection : public VoiceDetection {
public:
virtual ~MockVoiceDetection() {}