Index: webrtc/modules/audio_device/ios/audio_device_not_implemented_ios.h |
diff --git a/webrtc/modules/audio_device/dummy/audio_device_dummy.h b/webrtc/modules/audio_device/ios/audio_device_not_implemented_ios.h |
similarity index 65% |
copy from webrtc/modules/audio_device/dummy/audio_device_dummy.h |
copy to webrtc/modules/audio_device/ios/audio_device_not_implemented_ios.h |
index 75c599e69d7fb9f191904e2ac28862c4005e7705..69b25e28424e39437678d89f5c4af9728d8a6f39 100644 |
--- a/webrtc/modules/audio_device/dummy/audio_device_dummy.h |
+++ b/webrtc/modules/audio_device/ios/audio_device_not_implemented_ios.h |
@@ -1,5 +1,5 @@ |
/* |
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
+ * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
tkchin_webrtc
2015/07/06 03:46:28
ditto don't change copyright years
henrika_webrtc
2015/07/07 16:01:38
Please note that this file is new. Not sure why we
tkchin_webrtc
2015/07/08 19:41:13
whoops, my bad.
|
* |
* 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 |
@@ -8,30 +8,31 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
-#ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_DUMMY_H |
-#define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_DUMMY_H |
- |
-#include <stdio.h> |
+#ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_NOT_IMPLEMENTED_IOS_H |
+#define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_NOT_IMPLEMENTED_IOS_H |
#include "webrtc/modules/audio_device/audio_device_generic.h" |
namespace webrtc { |
-class AudioDeviceDummy : public AudioDeviceGeneric { |
+// AudioDeviceNotImplementedIOS contains default implementations of all methods |
+// in the webrtc::AudioDeviceModule which are currently not supported for iOS. |
+// The real implementation is in AudioDeviceIOS and it derives from this class. |
+// The main purpose of breaking out non-implemented methods into a separate |
+// unit is to make AudioDeviceIOS more readable and easier to maintain. |
+class AudioDeviceNotImplementedIOS : public AudioDeviceGeneric { |
tkchin_webrtc
2015/07/06 03:46:28
Instead of introducing an intermediate abstract cl
henrika_webrtc
2015/07/07 16:01:38
Forgive me for being lazy here but I was advised t
tkchin_webrtc
2015/07/08 19:41:14
I think intermediate class makes sense if there ar
henrika_webrtc
2015/07/09 12:58:01
Nop. Will remove this class ;-)
|
public: |
- AudioDeviceDummy(const int32_t id) {} |
- virtual ~AudioDeviceDummy() {} |
- |
- // Retrieve the currently utilized audio layer |
- int32_t ActiveAudioLayer( |
- AudioDeviceModule::AudioLayer& audioLayer) const override; |
+ AudioDeviceNotImplementedIOS(); |
- // Main initializaton and termination |
- int32_t Init() override; |
- int32_t Terminate() override; |
- bool Initialized() const override; |
- |
- // Device enumeration |
+ // Methods in webrtc::AudioDeviceModule which are not yet implemented. |
+ // The idea is that we can move methods from this class to the real |
+ // implementation in AudioDeviceIOS when needed. |
+ int32_t ActiveAudioLayer(AudioDeviceModule::AudioLayer& audioLayer) const; |
+ int32_t ResetAudioDevice() override; |
+ int32_t PlayoutIsAvailable(bool& available) override; |
+ int32_t RecordingIsAvailable(bool& available) override; |
+ int32_t SetAGC(bool enable) override; |
+ bool AGC() const override; |
int16_t PlayoutDevices() override; |
int16_t RecordingDevices() override; |
int32_t PlayoutDeviceName(uint16_t index, |
@@ -40,108 +41,62 @@ class AudioDeviceDummy : public AudioDeviceGeneric { |
int32_t RecordingDeviceName(uint16_t index, |
char name[kAdmMaxDeviceNameSize], |
char guid[kAdmMaxGuidSize]) override; |
- |
- // Device selection |
int32_t SetPlayoutDevice(uint16_t index) override; |
int32_t SetPlayoutDevice( |
AudioDeviceModule::WindowsDeviceType device) override; |
int32_t SetRecordingDevice(uint16_t index) override; |
int32_t SetRecordingDevice( |
AudioDeviceModule::WindowsDeviceType device) override; |
- |
- // Audio transport initialization |
- int32_t PlayoutIsAvailable(bool& available) override; |
- int32_t InitPlayout() override; |
- bool PlayoutIsInitialized() const override; |
- int32_t RecordingIsAvailable(bool& available) override; |
- int32_t InitRecording() override; |
- bool RecordingIsInitialized() const override; |
- |
- // Audio transport control |
- int32_t StartPlayout() override; |
- int32_t StopPlayout() override; |
- bool Playing() const override; |
- int32_t StartRecording() override; |
- int32_t StopRecording() override; |
- bool Recording() const override; |
- |
- // Microphone Automatic Gain Control (AGC) |
- int32_t SetAGC(bool enable) override; |
- bool AGC() const override; |
- |
- // Volume control based on the Windows Wave API (Windows only) |
int32_t SetWaveOutVolume(uint16_t volumeLeft, uint16_t volumeRight) override; |
int32_t WaveOutVolume(uint16_t& volumeLeft, |
uint16_t& volumeRight) const override; |
- |
- // Audio mixer initialization |
int32_t InitSpeaker() override; |
bool SpeakerIsInitialized() const override; |
int32_t InitMicrophone() override; |
bool MicrophoneIsInitialized() const override; |
- |
- // Speaker volume controls |
int32_t SpeakerVolumeIsAvailable(bool& available) override; |
int32_t SetSpeakerVolume(uint32_t volume) override; |
int32_t SpeakerVolume(uint32_t& volume) const override; |
int32_t MaxSpeakerVolume(uint32_t& maxVolume) const override; |
int32_t MinSpeakerVolume(uint32_t& minVolume) const override; |
int32_t SpeakerVolumeStepSize(uint16_t& stepSize) const override; |
- |
- // Microphone volume controls |
int32_t MicrophoneVolumeIsAvailable(bool& available) override; |
int32_t SetMicrophoneVolume(uint32_t volume) override; |
int32_t MicrophoneVolume(uint32_t& volume) const override; |
int32_t MaxMicrophoneVolume(uint32_t& maxVolume) const override; |
int32_t MinMicrophoneVolume(uint32_t& minVolume) const override; |
int32_t MicrophoneVolumeStepSize(uint16_t& stepSize) const override; |
- |
- // Speaker mute control |
- int32_t SpeakerMuteIsAvailable(bool& available) override; |
- int32_t SetSpeakerMute(bool enable) override; |
- int32_t SpeakerMute(bool& enabled) const override; |
- |
- // Microphone mute control |
int32_t MicrophoneMuteIsAvailable(bool& available) override; |
int32_t SetMicrophoneMute(bool enable) override; |
int32_t MicrophoneMute(bool& enabled) const override; |
- |
- // Microphone boost control |
+ int32_t SpeakerMuteIsAvailable(bool& available) override; |
+ int32_t SetSpeakerMute(bool enable) override; |
+ int32_t SpeakerMute(bool& enabled) const override; |
int32_t MicrophoneBoostIsAvailable(bool& available) override; |
int32_t SetMicrophoneBoost(bool enable) override; |
int32_t MicrophoneBoost(bool& enabled) const override; |
- |
- // Stereo support |
int32_t StereoPlayoutIsAvailable(bool& available) override; |
int32_t SetStereoPlayout(bool enable) override; |
int32_t StereoPlayout(bool& enabled) const override; |
int32_t StereoRecordingIsAvailable(bool& available) override; |
int32_t SetStereoRecording(bool enable) override; |
int32_t StereoRecording(bool& enabled) const override; |
- |
- // Delay information and control |
int32_t SetPlayoutBuffer(const AudioDeviceModule::BufferType type, |
uint16_t sizeMS) override; |
- int32_t PlayoutBuffer(AudioDeviceModule::BufferType& type, |
- uint16_t& sizeMS) const override; |
- int32_t PlayoutDelay(uint16_t& delayMS) const override; |
- int32_t RecordingDelay(uint16_t& delayMS) const override; |
- |
- // CPU load |
int32_t CPULoad(uint16_t& load) const override; |
- |
bool PlayoutWarning() const override; |
bool PlayoutError() const override; |
bool RecordingWarning() const override; |
bool RecordingError() const override; |
- void ClearPlayoutWarning() override; |
- void ClearPlayoutError() override; |
- void ClearRecordingWarning() override; |
- void ClearRecordingError() override; |
+ void ClearPlayoutWarning() override{}; |
+ void ClearPlayoutError() override{}; |
+ void ClearRecordingWarning() override{}; |
+ void ClearRecordingError() override{}; |
- void AttachAudioBuffer(AudioDeviceBuffer* audioBuffer) override; |
+ protected: |
+ ~AudioDeviceNotImplementedIOS() {} |
}; |
} // namespace webrtc |
-#endif // WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_DUMMY_H |
+#endif // WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_NOT_IMPLEMENTED_IOS_H |