1 /* 2 * Copyright (c) 2015 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_DEVICE_INCLUDE_MOCK_AUDIO_DEVICE_H_ 12 #define MODULES_AUDIO_DEVICE_INCLUDE_MOCK_AUDIO_DEVICE_H_ 13 14 #include <string> 15 16 #include "modules/audio_device/include/audio_device.h" 17 #include "rtc_base/ref_counted_object.h" 18 #include "test/gmock.h" 19 20 namespace webrtc { 21 namespace test { 22 23 class MockAudioDeviceModule : public AudioDeviceModule { 24 public: CreateNice()25 static rtc::scoped_refptr<MockAudioDeviceModule> CreateNice() { 26 return new rtc::RefCountedObject< 27 ::testing::NiceMock<MockAudioDeviceModule>>(); 28 } CreateStrict()29 static rtc::scoped_refptr<MockAudioDeviceModule> CreateStrict() { 30 return new rtc::RefCountedObject< 31 ::testing::StrictMock<MockAudioDeviceModule>>(); 32 } 33 34 // AudioDeviceModule. 35 MOCK_METHOD(int32_t, 36 ActiveAudioLayer, 37 (AudioLayer * audioLayer), 38 (const, override)); 39 MOCK_METHOD(int32_t, 40 RegisterAudioCallback, 41 (AudioTransport * audioCallback), 42 (override)); 43 MOCK_METHOD(int32_t, Init, (), (override)); 44 MOCK_METHOD(int32_t, Terminate, (), (override)); 45 MOCK_METHOD(bool, Initialized, (), (const, override)); 46 MOCK_METHOD(int16_t, PlayoutDevices, (), (override)); 47 MOCK_METHOD(int16_t, RecordingDevices, (), (override)); 48 MOCK_METHOD(int32_t, 49 PlayoutDeviceName, 50 (uint16_t index, 51 char name[kAdmMaxDeviceNameSize], 52 char guid[kAdmMaxGuidSize]), 53 (override)); 54 MOCK_METHOD(int32_t, 55 RecordingDeviceName, 56 (uint16_t index, 57 char name[kAdmMaxDeviceNameSize], 58 char guid[kAdmMaxGuidSize]), 59 (override)); 60 MOCK_METHOD(int32_t, SetPlayoutDevice, (uint16_t index), (override)); 61 MOCK_METHOD(int32_t, 62 SetPlayoutDevice, 63 (WindowsDeviceType device), 64 (override)); 65 MOCK_METHOD(int32_t, SetRecordingDevice, (uint16_t index), (override)); 66 MOCK_METHOD(int32_t, 67 SetRecordingDevice, 68 (WindowsDeviceType device), 69 (override)); 70 MOCK_METHOD(int32_t, PlayoutIsAvailable, (bool* available), (override)); 71 MOCK_METHOD(int32_t, InitPlayout, (), (override)); 72 MOCK_METHOD(bool, PlayoutIsInitialized, (), (const, override)); 73 MOCK_METHOD(int32_t, RecordingIsAvailable, (bool* available), (override)); 74 MOCK_METHOD(int32_t, InitRecording, (), (override)); 75 MOCK_METHOD(bool, RecordingIsInitialized, (), (const, override)); 76 MOCK_METHOD(int32_t, StartPlayout, (), (override)); 77 MOCK_METHOD(int32_t, StopPlayout, (), (override)); 78 MOCK_METHOD(bool, Playing, (), (const, override)); 79 MOCK_METHOD(int32_t, StartRecording, (), (override)); 80 MOCK_METHOD(int32_t, StopRecording, (), (override)); 81 MOCK_METHOD(bool, Recording, (), (const, override)); 82 MOCK_METHOD(int32_t, InitSpeaker, (), (override)); 83 MOCK_METHOD(bool, SpeakerIsInitialized, (), (const, override)); 84 MOCK_METHOD(int32_t, InitMicrophone, (), (override)); 85 MOCK_METHOD(bool, MicrophoneIsInitialized, (), (const, override)); 86 MOCK_METHOD(int32_t, SpeakerVolumeIsAvailable, (bool* available), (override)); 87 MOCK_METHOD(int32_t, SetSpeakerVolume, (uint32_t volume), (override)); 88 MOCK_METHOD(int32_t, SpeakerVolume, (uint32_t * volume), (const, override)); 89 MOCK_METHOD(int32_t, 90 MaxSpeakerVolume, 91 (uint32_t * maxVolume), 92 (const, override)); 93 MOCK_METHOD(int32_t, 94 MinSpeakerVolume, 95 (uint32_t * minVolume), 96 (const, override)); 97 MOCK_METHOD(int32_t, 98 MicrophoneVolumeIsAvailable, 99 (bool* available), 100 (override)); 101 MOCK_METHOD(int32_t, SetMicrophoneVolume, (uint32_t volume), (override)); 102 MOCK_METHOD(int32_t, 103 MicrophoneVolume, 104 (uint32_t * volume), 105 (const, override)); 106 MOCK_METHOD(int32_t, 107 MaxMicrophoneVolume, 108 (uint32_t * maxVolume), 109 (const, override)); 110 MOCK_METHOD(int32_t, 111 MinMicrophoneVolume, 112 (uint32_t * minVolume), 113 (const, override)); 114 MOCK_METHOD(int32_t, SpeakerMuteIsAvailable, (bool* available), (override)); 115 MOCK_METHOD(int32_t, SetSpeakerMute, (bool enable), (override)); 116 MOCK_METHOD(int32_t, SpeakerMute, (bool* enabled), (const, override)); 117 MOCK_METHOD(int32_t, 118 MicrophoneMuteIsAvailable, 119 (bool* available), 120 (override)); 121 MOCK_METHOD(int32_t, SetMicrophoneMute, (bool enable), (override)); 122 MOCK_METHOD(int32_t, MicrophoneMute, (bool* enabled), (const, override)); 123 MOCK_METHOD(int32_t, 124 StereoPlayoutIsAvailable, 125 (bool* available), 126 (const, override)); 127 MOCK_METHOD(int32_t, SetStereoPlayout, (bool enable), (override)); 128 MOCK_METHOD(int32_t, StereoPlayout, (bool* enabled), (const, override)); 129 MOCK_METHOD(int32_t, 130 StereoRecordingIsAvailable, 131 (bool* available), 132 (const, override)); 133 MOCK_METHOD(int32_t, SetStereoRecording, (bool enable), (override)); 134 MOCK_METHOD(int32_t, StereoRecording, (bool* enabled), (const, override)); 135 MOCK_METHOD(int32_t, PlayoutDelay, (uint16_t * delayMS), (const, override)); 136 MOCK_METHOD(bool, BuiltInAECIsAvailable, (), (const, override)); 137 MOCK_METHOD(bool, BuiltInAGCIsAvailable, (), (const, override)); 138 MOCK_METHOD(bool, BuiltInNSIsAvailable, (), (const, override)); 139 MOCK_METHOD(int32_t, EnableBuiltInAEC, (bool enable), (override)); 140 MOCK_METHOD(int32_t, EnableBuiltInAGC, (bool enable), (override)); 141 MOCK_METHOD(int32_t, EnableBuiltInNS, (bool enable), (override)); 142 MOCK_METHOD(int32_t, GetPlayoutUnderrunCount, (), (const, override)); 143 #if defined(WEBRTC_IOS) 144 MOCK_METHOD(int, 145 GetPlayoutAudioParameters, 146 (AudioParameters * params), 147 (const, override)); 148 MOCK_METHOD(int, 149 GetRecordAudioParameters, 150 (AudioParameters * params), 151 (const, override)); 152 #endif // WEBRTC_IOS 153 }; 154 } // namespace test 155 } // namespace webrtc 156 157 #endif // MODULES_AUDIO_DEVICE_INCLUDE_MOCK_AUDIO_DEVICE_H_ 158