summaryrefslogtreecommitdiff
path: root/sound/nullsoundsystem.h
diff options
context:
space:
mode:
authorhenrike@webrtc.org <henrike@webrtc.org>2014-08-26 22:04:04 +0000
committerhenrike@webrtc.org <henrike@webrtc.org>2014-08-26 22:04:04 +0000
commit91bac0462eaaa118674708a9c2b7e8f467edcb75 (patch)
tree7154f6d2ae08a0ebe20e1c12c6f218c01ccbc187 /sound/nullsoundsystem.h
parentcd35c434c6c9358f87893d0116a3ee528203a975 (diff)
downloadwebrtc-91bac0462eaaa118674708a9c2b7e8f467edcb75.tar.gz
Create a copy of talk/sound under webrtc/sound.
BUG=3379 R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/22379004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6986 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'sound/nullsoundsystem.h')
-rw-r--r--sound/nullsoundsystem.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/sound/nullsoundsystem.h b/sound/nullsoundsystem.h
new file mode 100644
index 00000000..6b749976
--- /dev/null
+++ b/sound/nullsoundsystem.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2004 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_SOUND_NULLSOUNDSYSTEM_H_
+#define WEBRTC_SOUND_NULLSOUNDSYSTEM_H_
+
+#include "webrtc/sound/soundsysteminterface.h"
+
+namespace rtc {
+
+class SoundDeviceLocator;
+class SoundInputStreamInterface;
+class SoundOutputStreamInterface;
+
+// A simple reference sound system that drops output samples and generates
+// no input samples.
+class NullSoundSystem : public SoundSystemInterface {
+ public:
+ static SoundSystemInterface *Create() {
+ return new NullSoundSystem();
+ }
+
+ virtual ~NullSoundSystem();
+
+ virtual bool Init();
+ virtual void Terminate();
+
+ virtual bool EnumeratePlaybackDevices(SoundDeviceLocatorList *devices);
+ virtual bool EnumerateCaptureDevices(SoundDeviceLocatorList *devices);
+
+ virtual SoundOutputStreamInterface *OpenPlaybackDevice(
+ const SoundDeviceLocator *device,
+ const OpenParams &params);
+ virtual SoundInputStreamInterface *OpenCaptureDevice(
+ const SoundDeviceLocator *device,
+ const OpenParams &params);
+
+ virtual bool GetDefaultPlaybackDevice(SoundDeviceLocator **device);
+ virtual bool GetDefaultCaptureDevice(SoundDeviceLocator **device);
+
+ virtual const char *GetName() const;
+};
+
+} // namespace rtc
+
+#endif // WEBRTC_SOUND_NULLSOUNDSYSTEM_H_