Index: webrtc/sound/pulseaudiosoundsystem.h |
diff --git a/webrtc/sound/pulseaudiosoundsystem.h b/webrtc/sound/pulseaudiosoundsystem.h |
deleted file mode 100644 |
index 895b7845525047c0a94dcccf1a51c024480dc498..0000000000000000000000000000000000000000 |
--- a/webrtc/sound/pulseaudiosoundsystem.h |
+++ /dev/null |
@@ -1,177 +0,0 @@ |
-/* |
- * 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_PULSEAUDIOSOUNDSYSTEM_H_ |
-#define WEBRTC_SOUND_PULSEAUDIOSOUNDSYSTEM_H_ |
- |
-#ifdef HAVE_LIBPULSE |
- |
-#include "webrtc/sound/pulseaudiosymboltable.h" |
-#include "webrtc/sound/soundsysteminterface.h" |
-#include "webrtc/base/constructormagic.h" |
- |
-namespace rtc { |
- |
-class PulseAudioInputStream; |
-class PulseAudioOutputStream; |
-class PulseAudioStream; |
- |
-// Sound system implementation for PulseAudio, a cross-platform sound server |
-// (but commonly used only on Linux, which is the only platform we support |
-// it on). |
-// Init(), Terminate(), and the destructor should never be invoked concurrently, |
-// but all other methods are thread-safe. |
-class PulseAudioSoundSystem : public SoundSystemInterface { |
- friend class PulseAudioInputStream; |
- friend class PulseAudioOutputStream; |
- friend class PulseAudioStream; |
- public: |
- static SoundSystemInterface *Create() { |
- return new PulseAudioSoundSystem(); |
- } |
- |
- PulseAudioSoundSystem(); |
- |
- virtual ~PulseAudioSoundSystem(); |
- |
- virtual bool Init(); |
- virtual void Terminate(); |
- |
- virtual bool EnumeratePlaybackDevices(SoundDeviceLocatorList *devices); |
- virtual bool EnumerateCaptureDevices(SoundDeviceLocatorList *devices); |
- |
- virtual bool GetDefaultPlaybackDevice(SoundDeviceLocator **device); |
- virtual bool GetDefaultCaptureDevice(SoundDeviceLocator **device); |
- |
- virtual SoundOutputStreamInterface *OpenPlaybackDevice( |
- const SoundDeviceLocator *device, |
- const OpenParams ¶ms); |
- virtual SoundInputStreamInterface *OpenCaptureDevice( |
- const SoundDeviceLocator *device, |
- const OpenParams ¶ms); |
- |
- virtual const char *GetName() const; |
- |
- private: |
- bool IsInitialized(); |
- |
- static void ConnectToPulseCallbackThunk(pa_context *context, void *userdata); |
- |
- void OnConnectToPulseCallback(pa_context *context, bool *connect_done); |
- |
- bool ConnectToPulse(pa_context *context); |
- |
- pa_context *CreateNewConnection(); |
- |
- template <typename InfoStruct> |
- bool EnumerateDevices(SoundDeviceLocatorList *devices, |
- pa_operation *(*enumerate_fn)( |
- pa_context *c, |
- void (*callback_fn)( |
- pa_context *c, |
- const InfoStruct *i, |
- int eol, |
- void *userdata), |
- void *userdata), |
- void (*callback_fn)( |
- pa_context *c, |
- const InfoStruct *i, |
- int eol, |
- void *userdata)); |
- |
- static void EnumeratePlaybackDevicesCallbackThunk(pa_context *unused, |
- const pa_sink_info *info, |
- int eol, |
- void *userdata); |
- |
- static void EnumerateCaptureDevicesCallbackThunk(pa_context *unused, |
- const pa_source_info *info, |
- int eol, |
- void *userdata); |
- |
- void OnEnumeratePlaybackDevicesCallback( |
- SoundDeviceLocatorList *devices, |
- const pa_sink_info *info, |
- int eol); |
- |
- void OnEnumerateCaptureDevicesCallback( |
- SoundDeviceLocatorList *devices, |
- const pa_source_info *info, |
- int eol); |
- |
- template <const char *(pa_server_info::*field)> |
- static void GetDefaultDeviceCallbackThunk( |
- pa_context *unused, |
- const pa_server_info *info, |
- void *userdata); |
- |
- template <const char *(pa_server_info::*field)> |
- void OnGetDefaultDeviceCallback( |
- const pa_server_info *info, |
- SoundDeviceLocator **device); |
- |
- template <const char *(pa_server_info::*field)> |
- bool GetDefaultDevice(SoundDeviceLocator **device); |
- |
- static void StreamStateChangedCallbackThunk(pa_stream *stream, |
- void *userdata); |
- |
- void OnStreamStateChangedCallback(pa_stream *stream); |
- |
- template <typename StreamInterface> |
- StreamInterface *OpenDevice( |
- const SoundDeviceLocator *device, |
- const OpenParams ¶ms, |
- const char *stream_name, |
- StreamInterface *(PulseAudioSoundSystem::*connect_fn)( |
- pa_stream *stream, |
- const char *dev, |
- int flags, |
- pa_stream_flags_t pa_flags, |
- int latency, |
- const pa_sample_spec &spec)); |
- |
- SoundOutputStreamInterface *ConnectOutputStream( |
- pa_stream *stream, |
- const char *dev, |
- int flags, |
- pa_stream_flags_t pa_flags, |
- int latency, |
- const pa_sample_spec &spec); |
- |
- SoundInputStreamInterface *ConnectInputStream( |
- pa_stream *stream, |
- const char *dev, |
- int flags, |
- pa_stream_flags_t pa_flags, |
- int latency, |
- const pa_sample_spec &spec); |
- |
- bool FinishOperation(pa_operation *op); |
- |
- void Lock(); |
- void Unlock(); |
- void Wait(); |
- void Signal(); |
- |
- const char *LastError(); |
- |
- pa_threaded_mainloop *mainloop_; |
- pa_context *context_; |
- PulseAudioSymbolTable symbol_table_; |
- |
- RTC_DISALLOW_COPY_AND_ASSIGN(PulseAudioSoundSystem); |
-}; |
- |
-} // namespace rtc |
- |
-#endif // HAVE_LIBPULSE |
- |
-#endif // WEBRTC_SOUND_PULSEAUDIOSOUNDSYSTEM_H_ |