summaryrefslogtreecommitdiff
path: root/voice_engine/voe_hardware_impl.h
diff options
context:
space:
mode:
authorandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2012-10-22 18:19:23 +0000
committerandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2012-10-22 18:19:23 +0000
commitb015cbede88899f67a53fbbe581b02ce8e327949 (patch)
tree530a64a3cfdbbabacab974c183326517d49e761e /voice_engine/voe_hardware_impl.h
downloadwebrtc-b015cbede88899f67a53fbbe581b02ce8e327949.tar.gz
Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'voice_engine/voe_hardware_impl.h')
-rw-r--r--voice_engine/voe_hardware_impl.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/voice_engine/voe_hardware_impl.h b/voice_engine/voe_hardware_impl.h
new file mode 100644
index 00000000..c8012280
--- /dev/null
+++ b/voice_engine/voe_hardware_impl.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2012 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_VOICE_ENGINE_VOE_HARDWARE_IMPL_H
+#define WEBRTC_VOICE_ENGINE_VOE_HARDWARE_IMPL_H
+
+#include "voe_hardware.h"
+
+#include "shared_data.h"
+
+namespace webrtc
+{
+class CpuWrapper;
+
+class VoEHardwareImpl: public VoEHardware
+{
+public:
+ virtual int GetNumOfRecordingDevices(int& devices);
+
+ virtual int GetNumOfPlayoutDevices(int& devices);
+
+ virtual int GetRecordingDeviceName(int index,
+ char strNameUTF8[128],
+ char strGuidUTF8[128]);
+
+ virtual int GetPlayoutDeviceName(int index,
+ char strNameUTF8[128],
+ char strGuidUTF8[128]);
+
+ virtual int GetRecordingDeviceStatus(bool& isAvailable);
+
+ virtual int GetPlayoutDeviceStatus(bool& isAvailable);
+
+ virtual int SetRecordingDevice(
+ int index,
+ StereoChannel recordingChannel = kStereoBoth);
+
+ virtual int SetPlayoutDevice(int index);
+
+ virtual int SetAudioDeviceLayer(AudioLayers audioLayer);
+
+ virtual int GetAudioDeviceLayer(AudioLayers& audioLayer);
+
+ virtual int GetCPULoad(int& loadPercent);
+
+ virtual int GetSystemCPULoad(int& loadPercent);
+
+ virtual int ResetAudioDevice();
+
+ virtual int AudioDeviceControl(unsigned int par1,
+ unsigned int par2,
+ unsigned int par3);
+
+ virtual int SetLoudspeakerStatus(bool enable);
+
+ virtual int GetLoudspeakerStatus(bool& enabled);
+
+ virtual int EnableBuiltInAEC(bool enable);
+ virtual bool BuiltInAECIsEnabled() const;
+
+protected:
+ VoEHardwareImpl(voe::SharedData* shared);
+ virtual ~VoEHardwareImpl();
+
+private:
+ CpuWrapper* _cpu;
+ voe::SharedData* _shared;
+};
+
+} // namespace webrtc
+
+#endif // WEBRTC_VOICE_ENGINE_VOE_HARDWARE_IMPL_H