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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 virtual int32_t PlayoutSampleRate(uint32_t* samplesPerSec) const = 0; | 180 virtual int32_t PlayoutSampleRate(uint32_t* samplesPerSec) const = 0; |
181 | 181 |
182 // Mobile device specific functions | 182 // Mobile device specific functions |
183 virtual int32_t ResetAudioDevice() = 0; | 183 virtual int32_t ResetAudioDevice() = 0; |
184 virtual int32_t SetLoudspeakerStatus(bool enable) = 0; | 184 virtual int32_t SetLoudspeakerStatus(bool enable) = 0; |
185 virtual int32_t GetLoudspeakerStatus(bool* enabled) const = 0; | 185 virtual int32_t GetLoudspeakerStatus(bool* enabled) const = 0; |
186 | 186 |
187 // Only supported on Android. | 187 // Only supported on Android. |
188 // TODO(henrika): Make pure virtual after updating Chromium. | 188 // TODO(henrika): Make pure virtual after updating Chromium. |
189 virtual bool BuiltInAECIsAvailable() const { return false; } | 189 virtual bool BuiltInAECIsAvailable() const { return false; } |
| 190 virtual bool BuiltInAGCIsAvailable() const { return false; } |
| 191 virtual bool BuiltInNSIsAvailable() const { return false; } |
190 | 192 |
191 // Enables the built-in AEC. Only supported on Windows and Android. | 193 // Enables the built-in audio effects. Only supported on Android. |
192 // | |
193 // For usage on Windows (requires Core Audio): | |
194 // Must be called before InitRecording(). When enabled: | |
195 // 1. StartPlayout() must be called before StartRecording(). | |
196 // 2. StopRecording() should be called before StopPlayout(). | |
197 // The reverse order may cause garbage audio to be rendered or the | |
198 // capture side to halt until StopRecording() is called. | |
199 // TODO(henrika): Make pure virtual after updating Chromium. | 194 // TODO(henrika): Make pure virtual after updating Chromium. |
200 virtual int32_t EnableBuiltInAEC(bool enable) { return -1; } | 195 virtual int32_t EnableBuiltInAEC(bool enable) { return -1; } |
201 | 196 virtual int32_t EnableBuiltInAGC(bool enable) { return -1; } |
| 197 virtual int32_t EnableBuiltInNS(bool enable) { return -1; } |
202 // Don't use. | 198 // Don't use. |
203 virtual bool BuiltInAECIsEnabled() const { return false; } | 199 virtual bool BuiltInAECIsEnabled() const { return false; } |
204 | 200 |
205 // Only supported on iOS. | 201 // Only supported on iOS. |
206 // TODO(henrika): Make pure virtual after updating Chromium. | 202 // TODO(henrika): Make pure virtual after updating Chromium. |
207 virtual int GetPlayoutAudioParameters(AudioParameters* params) const { | 203 virtual int GetPlayoutAudioParameters(AudioParameters* params) const { |
208 return -1; | 204 return -1; |
209 } | 205 } |
210 virtual int GetRecordAudioParameters(AudioParameters* params) const { | 206 virtual int GetRecordAudioParameters(AudioParameters* params) const { |
211 return -1; | 207 return -1; |
212 } | 208 } |
213 | 209 |
214 protected: | 210 protected: |
215 virtual ~AudioDeviceModule() {} | 211 virtual ~AudioDeviceModule() {} |
216 }; | 212 }; |
217 | 213 |
218 AudioDeviceModule* CreateAudioDeviceModule( | 214 AudioDeviceModule* CreateAudioDeviceModule( |
219 int32_t id, AudioDeviceModule::AudioLayer audioLayer); | 215 int32_t id, AudioDeviceModule::AudioLayer audioLayer); |
220 | 216 |
221 } // namespace webrtc | 217 } // namespace webrtc |
222 | 218 |
223 #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ | 219 #endif // MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_H_ |
OLD | NEW |