Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: webkit/plugins/ppapi/plugin_delegate.h

Issue 8574029: Microphone support for Pepper Flash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: MessageLoop -> base::MessageLoopProxy Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698