From 17338d41ac5bd3b5121c8f1ca2e077afee16ab70 Mon Sep 17 00:00:00 2001 From: aleloi Date: Tue, 22 Nov 2016 06:02:06 -0800 Subject: [PATCH] Created an AudioMixer mock in webrtc/api/test. The mock is used in a dependent CL https://codereview.webrtc.org/2436033002. There is also a goal to allow external mixing implementations (subclasses of webrtc::AudioMixer) and inject them to PeerConnectionFactory. We think that part of that is an official and maintained mock. Summary of changes: * Created a mixer mock/stub in webrtc/api/test * Made a target webrtc/api:mock_audio_mixer for it. NOTRY=True BUG=webrtc:6346 Review-Url: https://codereview.webrtc.org/2520323002 Cr-Commit-Position: refs/heads/master@{#15190} --- webrtc/api/BUILD.gn | 15 ++++++++++++++ webrtc/api/test/mock_audio_mixer.h | 32 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 webrtc/api/test/mock_audio_mixer.h diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn index e3851828d2..67895070b9 100644 --- a/webrtc/api/BUILD.gn +++ b/webrtc/api/BUILD.gn @@ -465,6 +465,21 @@ if (rtc_include_tests) { } } + rtc_source_set("mock_audio_mixer") { + testonly = true + sources = [ + "test/mock_audio_mixer.h", + ] + + public_deps = [ + ":audio_mixer_api", + ] + + deps = [ + "//testing/gmock", + ] + } + if (is_android) { instrumentation_test_apk("libjingle_peerconnection_android_unittest") { apk_name = "libjingle_peerconnection_android_unittest" diff --git a/webrtc/api/test/mock_audio_mixer.h b/webrtc/api/test/mock_audio_mixer.h new file mode 100644 index 0000000000..189455ff8a --- /dev/null +++ b/webrtc/api/test/mock_audio_mixer.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef WEBRTC_API_TEST_MOCK_AUDIO_MIXER_H_ +#define WEBRTC_API_TEST_MOCK_AUDIO_MIXER_H_ + +#include "webrtc/api/audio/audio_mixer.h" + +#include "webrtc/test/gmock.h" + +namespace webrtc { +namespace test { + +class MockAudioMixer : public AudioMixer { + public: + MOCK_METHOD1(AddSource, bool(Source* audio_source)); + MOCK_METHOD1(RemoveSource, void(Source* audio_source)); + MOCK_METHOD2(Mix, + void(size_t number_of_channels, + AudioFrame* audio_frame_for_mixing)); +}; +} // namespace test +} // namespace webrtc + +#endif // WEBRTC_API_TEST_MOCK_AUDIO_MIXER_H_