Added EchoControlFactory interface.

The factory for EchoControl is changed from an rtc::Callback1 to an
interface. This avoids using rtc::Callback1 outside of WebRTC.
This also makes the EchoControl factory more similar to other
factories in the code base.

Bug: webrtc:8345
Change-Id: Ie61b9416ed771f8c756326736d17e339eb768469
Reviewed-on: https://webrtc-review.googlesource.com/8900
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20272}
This commit is contained in:
Gustaf Ullberg
2017-10-12 15:13:17 +02:00
committed by Commit Bot
parent 6f09ae20bd
commit 002ef28272
6 changed files with 65 additions and 30 deletions

View File

@ -112,6 +112,15 @@ class MockPostProcessing : public PostProcessing {
MOCK_CONST_METHOD0(ToString, std::string());
};
class MockEchoControl : public EchoControl {
public:
virtual ~MockEchoControl() {}
MOCK_METHOD1(AnalyzeRender, void(AudioBuffer* render));
MOCK_METHOD1(AnalyzeCapture, void(AudioBuffer* capture));
MOCK_METHOD2(ProcessCapture,
void(AudioBuffer* capture, bool echo_path_change));
};
class MockVoiceDetection : public VoiceDetection {
public:
virtual ~MockVoiceDetection() {}