1 /* 2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef MODULES_AUDIO_PROCESSING_TEST_ECHO_CONTROL_MOCK_H_ 12 #define MODULES_AUDIO_PROCESSING_TEST_ECHO_CONTROL_MOCK_H_ 13 14 #include "api/audio/echo_control.h" 15 #include "test/gmock.h" 16 17 namespace webrtc { 18 19 class AudioBuffer; 20 21 class MockEchoControl : public EchoControl { 22 public: 23 MOCK_METHOD(void, AnalyzeRender, (AudioBuffer * render), (override)); 24 MOCK_METHOD(void, AnalyzeCapture, (AudioBuffer * capture), (override)); 25 MOCK_METHOD(void, 26 ProcessCapture, 27 (AudioBuffer * capture, bool echo_path_change), 28 (override)); 29 MOCK_METHOD(void, 30 ProcessCapture, 31 (AudioBuffer * capture, 32 AudioBuffer* linear_output, 33 bool echo_path_change), 34 (override)); 35 MOCK_METHOD(EchoControl::Metrics, GetMetrics, (), (const, override)); 36 MOCK_METHOD(void, SetAudioBufferDelay, (int delay_ms), (override)); 37 MOCK_METHOD(void, 38 SetCaptureOutputUsage, 39 (bool capture_output_used), 40 (override)); 41 MOCK_METHOD(bool, ActiveProcessing, (), (const, override)); 42 }; 43 44 } // namespace webrtc 45 46 #endif // MODULES_AUDIO_PROCESSING_TEST_ECHO_CONTROL_MOCK_H_ 47