| 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_
|
|
|