Chromium Code Reviews| Index: webkit/plugins/ppapi/plugin_delegate.h |
| diff --git a/webkit/plugins/ppapi/plugin_delegate.h b/webkit/plugins/ppapi/plugin_delegate.h |
| index a5323d0c3e7a692227cd8965e98ae87877c88a43..aa287e13bd66160ed6bc388c76ae092c29fdfb25 100644 |
| --- a/webkit/plugins/ppapi/plugin_delegate.h |
| +++ b/webkit/plugins/ppapi/plugin_delegate.h |
| @@ -187,19 +187,21 @@ class PluginDelegate { |
| virtual bool Echo(const base::Callback<void()>& callback) = 0; |
| }; |
| - class PlatformAudio { |
| - public: |
| - class Client { |
| - protected: |
| - virtual ~Client() {} |
| + // The (interface for the) client used by |PlatformAudio| and |
| + // |PlatformAudioInput|. |
| + class PlatformAudioCommonClient { |
| + protected: |
| + virtual ~PlatformAudioCommonClient() {} |
| - public: |
| - // Called when the stream is created. |
| - virtual void StreamCreated(base::SharedMemoryHandle shared_memory_handle, |
| - size_t shared_memory_size, |
| - base::SyncSocket::Handle socket) = 0; |
| - }; |
| + public: |
| + // Called when the stream is created. |
| + virtual void StreamCreated(base::SharedMemoryHandle shared_memory_handle, |
| + size_t shared_memory_size, |
| + base::SyncSocket::Handle socket) = 0; |
| + }; |
| + class PlatformAudio { |
| + public: |
| // Starts the playback. Returns false on error or if called before the |
| // stream is created or after the stream is closed. |
| virtual bool StartPlayback() = 0; |
| @@ -216,6 +218,24 @@ class PluginDelegate { |
| virtual ~PlatformAudio() {} |
| }; |
| + class PlatformAudioInput { |
| + public: |
| + // Starts the playback. Returns false on error or if called before the |
| + // stream is created or after the stream is closed. |
| + virtual bool StartCapture() = 0; |
| + |
| + // Stops the capture. Returns false on error or if called before the stream |
| + // is created or after the stream is closed. |
| + virtual bool StopCapture() = 0; |
| + |
| + // Closes the stream. Make sure to call this before the object is |
| + // destructed. |
| + virtual void ShutDown() = 0; |
| + |
| + protected: |
| + virtual ~PlatformAudioInput() {} |
| + }; |
| + |
| // Interface for PlatformVideoDecoder is directly inherited from general media |
| // VideoDecodeAccelerator interface. |
| class PlatformVideoDecoder : public media::VideoDecodeAccelerator { |
| @@ -292,7 +312,13 @@ class PluginDelegate { |
| // to clean up the corresponding resources allocated during this call. |
| virtual PlatformAudio* CreateAudio(uint32_t sample_rate, |
| uint32_t sample_count, |
| - PlatformAudio::Client* client) = 0; |
| + PlatformAudioCommonClient* client) = 0; |
| + |
| + // The caller is responsible for calling Shutdown() on the returned pointer |
| + // to clean up the corresponding resources allocated during this call. |
| + virtual PlatformAudioInput* CreateAudioInput(uint32_t sample_rate, |
|
dmichael (off chromium)
2011/11/17 18:24:04
nit: I would usually put sample_rate on the next l
|
| + uint32_t sample_count, |
| + PlatformAudioCommonClient* client) = 0; |
| // A pointer is returned immediately, but it is not ready to be used until |
| // BrokerConnected has been called. |