| Index: content/renderer/media/audio_message_filter.h
|
| diff --git a/content/renderer/media/audio_message_filter.h b/content/renderer/media/audio_message_filter.h
|
| index efc80a7692eb099d651bf0c9cac7968084f1efbf..c50dca4ce2acd2be087f8a1338328f2c1662f034 100644
|
| --- a/content/renderer/media/audio_message_filter.h
|
| +++ b/content/renderer/media/audio_message_filter.h
|
| @@ -14,42 +14,30 @@
|
| #include "base/id_map.h"
|
| #include "base/shared_memory.h"
|
| #include "base/sync_socket.h"
|
| -#include "content/common/media/audio_stream_state.h"
|
| #include "content/common/content_export.h"
|
| #include "ipc/ipc_channel_proxy.h"
|
| #include "media/audio/audio_buffers_state.h"
|
| +#include "media/audio/audio_output_ipc.h"
|
|
|
| class CONTENT_EXPORT AudioMessageFilter
|
| - : public IPC::ChannelProxy::MessageFilter {
|
| + : public IPC::ChannelProxy::MessageFilter,
|
| + public NON_EXPORTED_BASE(media::AudioOutputIPC) {
|
| public:
|
| - class CONTENT_EXPORT Delegate {
|
| - public:
|
| - // Called when state of an audio stream has changed in the browser process.
|
| - virtual void OnStateChanged(AudioStreamState state) = 0;
|
| -
|
| - // Called when an audio stream has been created in the browser process.
|
| - virtual void OnStreamCreated(base::SharedMemoryHandle handle,
|
| - base::SyncSocket::Handle socket_handle,
|
| - uint32 length) = 0;
|
| -
|
| - protected:
|
| - virtual ~Delegate() {}
|
| - };
|
| -
|
| AudioMessageFilter();
|
|
|
| // Getter for the one AudioMessageFilter object.
|
| static AudioMessageFilter* Get();
|
|
|
| - // Add a delegate to the map and return id of the entry.
|
| - int32 AddDelegate(Delegate* delegate);
|
| -
|
| - // Remove a delegate referenced by |id| from the map.
|
| - void RemoveDelegate(int32 id);
|
| -
|
| - // Sends an IPC message using |channel_|.
|
| - // This method is virtual so that it can be overridden in tests.
|
| - virtual bool Send(IPC::Message* message);
|
| + // media::AudioOutputIPCDelegate implementation.
|
| + virtual int AddDelegate(media::AudioOutputIPCDelegate* delegate) OVERRIDE;
|
| + virtual void RemoveDelegate(int id) OVERRIDE;
|
| + virtual void CreateStream(int stream_id,
|
| + const media::AudioParameters& params) OVERRIDE;
|
| + virtual void PlayStream(int stream_id) OVERRIDE;
|
| + virtual void PauseStream(int stream_id) OVERRIDE;
|
| + virtual void FlushStream(int stream_id) OVERRIDE;
|
| + virtual void CloseStream(int stream_id) OVERRIDE;
|
| + virtual void SetVolume(int stream_id, double volume) OVERRIDE;
|
|
|
| // IPC::ChannelProxy::MessageFilter override. Called on IO thread.
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
| @@ -64,6 +52,9 @@ class CONTENT_EXPORT AudioMessageFilter
|
| FRIEND_TEST_ALL_PREFIXES(AudioMessageFilterTest, Basic);
|
| FRIEND_TEST_ALL_PREFIXES(AudioMessageFilterTest, Delegates);
|
|
|
| + // Sends an IPC message using |channel_|.
|
| + bool Send(IPC::Message* message);
|
| +
|
| // Received when browser process has created an audio output stream.
|
| void OnStreamCreated(int stream_id, base::SharedMemoryHandle handle,
|
| #if defined(OS_WIN)
|
| @@ -73,16 +64,16 @@ class CONTENT_EXPORT AudioMessageFilter
|
| #endif
|
| uint32 length);
|
|
|
| -
|
| // Received when internal state of browser process' audio output device has
|
| // changed.
|
| - void OnStreamStateChanged(int stream_id, AudioStreamState state);
|
| + void OnStreamStateChanged(int stream_id,
|
| + media::AudioOutputIPCDelegate::State state);
|
|
|
| // The singleton instance for this filter.
|
| static AudioMessageFilter* filter_;
|
|
|
| // A map of stream ids to delegates.
|
| - IDMap<Delegate> delegates_;
|
| + IDMap<media::AudioOutputIPCDelegate> delegates_;
|
|
|
| IPC::Channel* channel_;
|
|
|
|
|