| Index: webkit/glue/plugins/pepper_audio.h
|
| ===================================================================
|
| --- webkit/glue/plugins/pepper_audio.h (revision 66651)
|
| +++ webkit/glue/plugins/pepper_audio.h (working copy)
|
| @@ -13,6 +13,7 @@
|
| #include "ppapi/c/dev/ppb_audio_dev.h"
|
| #include "ppapi/c/dev/ppb_audio_config_dev.h"
|
| #include "ppapi/c/dev/ppb_audio_trusted_dev.h"
|
| +#include "ppapi/c/pp_completion_callback.h"
|
| #include "webkit/glue/plugins/pepper_plugin_delegate.h"
|
| #include "webkit/glue/plugins/pepper_plugin_instance.h"
|
| #include "webkit/glue/plugins/pepper_plugin_module.h"
|
| @@ -46,19 +47,34 @@
|
| public PluginDelegate::PlatformAudio::Client,
|
| public base::DelegateSimpleThread::Delegate {
|
| public:
|
| - explicit Audio(PluginModule* module);
|
| + explicit Audio(PluginModule* module, PP_Instance instance_id);
|
| virtual ~Audio();
|
|
|
| static const PPB_Audio_Dev* GetInterface();
|
| static const PPB_AudioTrusted_Dev* GetTrustedInterface();
|
|
|
| - bool Init(PluginDelegate* plugin_delegate, PP_Resource config_id,
|
| - PPB_Audio_Callback callback, void* user_data);
|
| + bool Init(PluginDelegate* plugin_delegate,
|
| + PP_Resource config_id,
|
| + PPB_Audio_Callback user_callback, void* user_data);
|
|
|
| + int32_t OpenTrusted(PluginDelegate* plugin_delegate,
|
| + PP_Resource config_id,
|
| + PP_CompletionCallback create_callback);
|
| +
|
| + void CloseTrusted();
|
| +
|
| PP_Resource GetCurrentConfiguration() {
|
| return config_->GetReference();
|
| }
|
|
|
| + PP_Instance pp_instance() {
|
| + return pp_instance_;
|
| + }
|
| +
|
| + int32_t GetSyncSocket(int* sync_socket);
|
| +
|
| + int32_t GetSharedMemory(uint64_t* shm_handle, int32_t* shm_size);
|
| +
|
| bool StartPlayback();
|
|
|
| bool StopPlayback();
|
| @@ -83,8 +99,11 @@
|
| // AudioConfig used for creating this Audio object.
|
| scoped_refptr<AudioConfig> config_;
|
|
|
| + // Instance id
|
| + PP_Instance pp_instance_;
|
| +
|
| // PluginDelegate audio object that we delegate audio IPC through.
|
| - scoped_ptr<PluginDelegate::PlatformAudio> audio_;
|
| + PluginDelegate::PlatformAudio* audio_;
|
|
|
| // Socket used to notify us when audio is ready to accept new samples. This
|
| // pointer is created in StreamCreated().
|
| @@ -98,6 +117,9 @@
|
| // The size of the sample buffer in bytes.
|
| size_t shared_memory_size_;
|
|
|
| + // OS specific shared memory handle.
|
| + uint64_t shared_memory_handle_;
|
| +
|
| // When the callback is set, this thread is spawned for calling it.
|
| scoped_ptr<base::DelegateSimpleThread> audio_thread_;
|
|
|
| @@ -106,9 +128,14 @@
|
|
|
| // User data pointer passed verbatim to the callback function.
|
| void* user_data_;
|
| +
|
| + // Is a create callback pending to fire?
|
| + bool create_callback_pending_;
|
| +
|
| + // Trusted callback invoked from StreamCreated.
|
| + PP_CompletionCallback create_callback_;
|
| };
|
|
|
| } // namespace pepper
|
|
|
| #endif // WEBKIT_GLUE_PLUGINS_PEPPER_DEVICE_CONTEXT_AUDIO_H_
|
| -
|
|
|