| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 kAndroidOpenSLESAudio = 6, | 33 kAndroidOpenSLESAudio = 6, |
| 34 kAndroidJavaInputAndOpenSLESOutputAudio = 7, | 34 kAndroidJavaInputAndOpenSLESOutputAudio = 7, |
| 35 kDummyAudio = 8 | 35 kDummyAudio = 8 |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 enum WindowsDeviceType { | 38 enum WindowsDeviceType { |
| 39 kDefaultCommunicationDevice = -1, | 39 kDefaultCommunicationDevice = -1, |
| 40 kDefaultDevice = -2 | 40 kDefaultDevice = -2 |
| 41 }; | 41 }; |
| 42 | 42 |
| 43 // Deprecated. | |
| 44 // TODO(henrika): to be removed. | |
| 45 enum BufferType { | |
| 46 kFixedBufferSize = 0, | |
| 47 kAdaptiveBufferSize = 1 | |
| 48 }; | |
| 49 | |
| 50 enum ChannelType { | 43 enum ChannelType { |
| 51 kChannelLeft = 0, | 44 kChannelLeft = 0, |
| 52 kChannelRight = 1, | 45 kChannelRight = 1, |
| 53 kChannelBoth = 2 | 46 kChannelBoth = 2 |
| 54 }; | 47 }; |
| 55 | 48 |
| 56 public: | 49 public: |
| 57 // Create an ADM. | 50 // Create an ADM. |
| 58 static rtc::scoped_refptr<AudioDeviceModule> Create( | 51 static rtc::scoped_refptr<AudioDeviceModule> Create( |
| 59 const int32_t id, | 52 const int32_t id, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 virtual int32_t StopPlayout() = 0; | 96 virtual int32_t StopPlayout() = 0; |
| 104 virtual bool Playing() const = 0; | 97 virtual bool Playing() const = 0; |
| 105 virtual int32_t StartRecording() = 0; | 98 virtual int32_t StartRecording() = 0; |
| 106 virtual int32_t StopRecording() = 0; | 99 virtual int32_t StopRecording() = 0; |
| 107 virtual bool Recording() const = 0; | 100 virtual bool Recording() const = 0; |
| 108 | 101 |
| 109 // Microphone Automatic Gain Control (AGC) | 102 // Microphone Automatic Gain Control (AGC) |
| 110 virtual int32_t SetAGC(bool enable) = 0; | 103 virtual int32_t SetAGC(bool enable) = 0; |
| 111 virtual bool AGC() const = 0; | 104 virtual bool AGC() const = 0; |
| 112 | 105 |
| 113 // Deprecated. | |
| 114 // TODO(henrika): to be removed. | |
| 115 virtual int32_t SetWaveOutVolume(uint16_t volumeLeft, | |
| 116 uint16_t volumeRight) { return -1; } | |
| 117 virtual int32_t WaveOutVolume(uint16_t* volumeLeft, | |
| 118 uint16_t* volumeRight) const { return -1; } | |
| 119 | |
| 120 // Audio mixer initialization | 106 // Audio mixer initialization |
| 121 virtual int32_t InitSpeaker() = 0; | 107 virtual int32_t InitSpeaker() = 0; |
| 122 virtual bool SpeakerIsInitialized() const = 0; | 108 virtual bool SpeakerIsInitialized() const = 0; |
| 123 virtual int32_t InitMicrophone() = 0; | 109 virtual int32_t InitMicrophone() = 0; |
| 124 virtual bool MicrophoneIsInitialized() const = 0; | 110 virtual bool MicrophoneIsInitialized() const = 0; |
| 125 | 111 |
| 126 // Speaker volume controls | 112 // Speaker volume controls |
| 127 virtual int32_t SpeakerVolumeIsAvailable(bool* available) = 0; | 113 virtual int32_t SpeakerVolumeIsAvailable(bool* available) = 0; |
| 128 virtual int32_t SetSpeakerVolume(uint32_t volume) = 0; | 114 virtual int32_t SetSpeakerVolume(uint32_t volume) = 0; |
| 129 virtual int32_t SpeakerVolume(uint32_t* volume) const = 0; | 115 virtual int32_t SpeakerVolume(uint32_t* volume) const = 0; |
| 130 virtual int32_t MaxSpeakerVolume(uint32_t* maxVolume) const = 0; | 116 virtual int32_t MaxSpeakerVolume(uint32_t* maxVolume) const = 0; |
| 131 virtual int32_t MinSpeakerVolume(uint32_t* minVolume) const = 0; | 117 virtual int32_t MinSpeakerVolume(uint32_t* minVolume) const = 0; |
| 132 // Deprecated. | |
| 133 // TODO(henrika): to be removed. | |
| 134 virtual int32_t SpeakerVolumeStepSize(uint16_t* stepSize) const { return -1; } | |
| 135 | 118 |
| 136 // Microphone volume controls | 119 // Microphone volume controls |
| 137 virtual int32_t MicrophoneVolumeIsAvailable(bool* available) = 0; | 120 virtual int32_t MicrophoneVolumeIsAvailable(bool* available) = 0; |
| 138 virtual int32_t SetMicrophoneVolume(uint32_t volume) = 0; | 121 virtual int32_t SetMicrophoneVolume(uint32_t volume) = 0; |
| 139 virtual int32_t MicrophoneVolume(uint32_t* volume) const = 0; | 122 virtual int32_t MicrophoneVolume(uint32_t* volume) const = 0; |
| 140 virtual int32_t MaxMicrophoneVolume(uint32_t* maxVolume) const = 0; | 123 virtual int32_t MaxMicrophoneVolume(uint32_t* maxVolume) const = 0; |
| 141 virtual int32_t MinMicrophoneVolume(uint32_t* minVolume) const = 0; | 124 virtual int32_t MinMicrophoneVolume(uint32_t* minVolume) const = 0; |
| 142 // Deprecated. | |
| 143 // TODO(henrika): to be removed. | |
| 144 virtual int32_t MicrophoneVolumeStepSize(uint16_t* stepSize) const { | |
| 145 return -1; | |
| 146 } | |
| 147 | 125 |
| 148 // Speaker mute control | 126 // Speaker mute control |
| 149 virtual int32_t SpeakerMuteIsAvailable(bool* available) = 0; | 127 virtual int32_t SpeakerMuteIsAvailable(bool* available) = 0; |
| 150 virtual int32_t SetSpeakerMute(bool enable) = 0; | 128 virtual int32_t SetSpeakerMute(bool enable) = 0; |
| 151 virtual int32_t SpeakerMute(bool* enabled) const = 0; | 129 virtual int32_t SpeakerMute(bool* enabled) const = 0; |
| 152 | 130 |
| 153 // Microphone mute control | 131 // Microphone mute control |
| 154 virtual int32_t MicrophoneMuteIsAvailable(bool* available) = 0; | 132 virtual int32_t MicrophoneMuteIsAvailable(bool* available) = 0; |
| 155 virtual int32_t SetMicrophoneMute(bool enable) = 0; | 133 virtual int32_t SetMicrophoneMute(bool enable) = 0; |
| 156 virtual int32_t MicrophoneMute(bool* enabled) const = 0; | 134 virtual int32_t MicrophoneMute(bool* enabled) const = 0; |
| 157 | 135 |
| 158 // Deprecated. | |
| 159 // TODO(henrika): to be removed. | |
| 160 virtual int32_t MicrophoneBoostIsAvailable(bool* available) { return -1; } | |
| 161 virtual int32_t SetMicrophoneBoost(bool enable) { return -1; } | |
| 162 virtual int32_t MicrophoneBoost(bool* enabled) const { return -1; } | |
| 163 | |
| 164 // Stereo support | 136 // Stereo support |
| 165 virtual int32_t StereoPlayoutIsAvailable(bool* available) const = 0; | 137 virtual int32_t StereoPlayoutIsAvailable(bool* available) const = 0; |
| 166 virtual int32_t SetStereoPlayout(bool enable) = 0; | 138 virtual int32_t SetStereoPlayout(bool enable) = 0; |
| 167 virtual int32_t StereoPlayout(bool* enabled) const = 0; | 139 virtual int32_t StereoPlayout(bool* enabled) const = 0; |
| 168 virtual int32_t StereoRecordingIsAvailable(bool* available) const = 0; | 140 virtual int32_t StereoRecordingIsAvailable(bool* available) const = 0; |
| 169 virtual int32_t SetStereoRecording(bool enable) = 0; | 141 virtual int32_t SetStereoRecording(bool enable) = 0; |
| 170 virtual int32_t StereoRecording(bool* enabled) const = 0; | 142 virtual int32_t StereoRecording(bool* enabled) const = 0; |
| 171 virtual int32_t SetRecordingChannel(const ChannelType channel) = 0; | 143 virtual int32_t SetRecordingChannel(const ChannelType channel) = 0; |
| 172 virtual int32_t RecordingChannel(ChannelType* channel) const = 0; | 144 virtual int32_t RecordingChannel(ChannelType* channel) const = 0; |
| 173 | 145 |
| 174 // Deprecated. | |
| 175 // TODO(henrika): to be removed. | |
| 176 virtual int32_t SetPlayoutBuffer(const BufferType type, | |
| 177 uint16_t sizeMS = 0) { return -1; } | |
| 178 virtual int32_t PlayoutBuffer(BufferType* type, uint16_t* sizeMS) const { | |
| 179 return -1; | |
| 180 } | |
| 181 // Delay information and control | 146 // Delay information and control |
| 182 virtual int32_t PlayoutDelay(uint16_t* delayMS) const = 0; | 147 virtual int32_t PlayoutDelay(uint16_t* delayMS) const = 0; |
| 183 virtual int32_t RecordingDelay(uint16_t* delayMS) const = 0; | 148 virtual int32_t RecordingDelay(uint16_t* delayMS) const = 0; |
| 184 | 149 |
| 185 // Deprecated. | |
| 186 // TODO(henrika): to be removed. | |
| 187 virtual int32_t CPULoad(uint16_t* load) const { return -1; } | |
| 188 | |
| 189 // Deprecated. | |
| 190 // TODO(henrika): to be removed. | |
| 191 virtual int32_t StartRawOutputFileRecording( | |
| 192 const char pcmFileNameUTF8[kAdmMaxFileNameSize]) { return -1; } | |
| 193 virtual int32_t StopRawOutputFileRecording() { return -1; } | |
| 194 virtual int32_t StartRawInputFileRecording( | |
| 195 const char pcmFileNameUTF8[kAdmMaxFileNameSize]) { return -1; } | |
| 196 virtual int32_t StopRawInputFileRecording() { return -1; } | |
| 197 | |
| 198 // Native sample rate controls (samples/sec) | 150 // Native sample rate controls (samples/sec) |
| 199 virtual int32_t SetRecordingSampleRate(const uint32_t samplesPerSec) = 0; | 151 virtual int32_t SetRecordingSampleRate(const uint32_t samplesPerSec) = 0; |
| 200 virtual int32_t RecordingSampleRate(uint32_t* samplesPerSec) const = 0; | 152 virtual int32_t RecordingSampleRate(uint32_t* samplesPerSec) const = 0; |
| 201 virtual int32_t SetPlayoutSampleRate(const uint32_t samplesPerSec) = 0; | 153 virtual int32_t SetPlayoutSampleRate(const uint32_t samplesPerSec) = 0; |
| 202 virtual int32_t PlayoutSampleRate(uint32_t* samplesPerSec) const = 0; | 154 virtual int32_t PlayoutSampleRate(uint32_t* samplesPerSec) const = 0; |
| 203 | 155 |
| 204 // Deprecated. | |
| 205 // TODO(henrika): to be removed. | |
| 206 virtual int32_t ResetAudioDevice() { return -1; } | |
| 207 | |
| 208 // Mobile device specific functions | 156 // Mobile device specific functions |
| 209 virtual int32_t SetLoudspeakerStatus(bool enable) = 0; | 157 virtual int32_t SetLoudspeakerStatus(bool enable) = 0; |
| 210 virtual int32_t GetLoudspeakerStatus(bool* enabled) const = 0; | 158 virtual int32_t GetLoudspeakerStatus(bool* enabled) const = 0; |
| 211 | 159 |
| 212 // Only supported on Android. | 160 // Only supported on Android. |
| 213 virtual bool BuiltInAECIsAvailable() const = 0; | 161 virtual bool BuiltInAECIsAvailable() const = 0; |
| 214 virtual bool BuiltInAGCIsAvailable() const = 0; | 162 virtual bool BuiltInAGCIsAvailable() const = 0; |
| 215 virtual bool BuiltInNSIsAvailable() const = 0; | 163 virtual bool BuiltInNSIsAvailable() const = 0; |
| 216 | 164 |
| 217 // Enables the built-in audio effects. Only supported on Android. | 165 // Enables the built-in audio effects. Only supported on Android. |
| 218 virtual int32_t EnableBuiltInAEC(bool enable) = 0; | 166 virtual int32_t EnableBuiltInAEC(bool enable) = 0; |
| 219 virtual int32_t EnableBuiltInAGC(bool enable) = 0; | 167 virtual int32_t EnableBuiltInAGC(bool enable) = 0; |
| 220 virtual int32_t EnableBuiltInNS(bool enable) = 0; | 168 virtual int32_t EnableBuiltInNS(bool enable) = 0; |
| 221 | 169 |
| 222 // Only supported on iOS. | 170 // Only supported on iOS. |
| 223 #if defined(WEBRTC_IOS) | 171 #if defined(WEBRTC_IOS) |
| 224 virtual int GetPlayoutAudioParameters(AudioParameters* params) const = 0; | 172 virtual int GetPlayoutAudioParameters(AudioParameters* params) const = 0; |
| 225 virtual int GetRecordAudioParameters(AudioParameters* params) const = 0; | 173 virtual int GetRecordAudioParameters(AudioParameters* params) const = 0; |
| 226 #endif // WEBRTC_IOS | 174 #endif // WEBRTC_IOS |
| 227 | 175 |
| 228 protected: | 176 protected: |
| 229 ~AudioDeviceModule() override {} | 177 ~AudioDeviceModule() override {} |
| 230 }; | 178 }; |
| 231 | 179 |
| 232 } // namespace webrtc | 180 } // namespace webrtc |
| 233 | 181 |
| 234 #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ | 182 #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ |
| OLD | NEW |