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

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

Issue 8138008: Implementation of ppapi audio. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' 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
===================================================================
--- webkit/plugins/ppapi/plugin_delegate.h (revision 103964)
+++ webkit/plugins/ppapi/plugin_delegate.h (working copy)
@@ -217,6 +217,35 @@
virtual ~PlatformAudio() {}
};
+ class PlatformAudioInput {
+ public:
+ class Client {
+ protected:
+ virtual ~Client() {}
+
+ 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;
+ };
+
+ // 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 {
@@ -285,6 +314,12 @@
uint32_t sample_count,
PlatformAudio::Client* 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,
+ uint32_t sample_count,
+ PlatformAudioInput::Client* client) = 0;
+
// A pointer is returned immediately, but it is not ready to be used until
// BrokerConnected has been called.
// The caller is responsible for calling Release() on the returned pointer

Powered by Google App Engine
This is Rietveld 408576698