Chromium Code Reviews| 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 GetInstance() { |
|
brettw
2010/11/22 18:22:09
This should be called pp_instance() const {...} si
nfullagar
2010/11/23 02:48:58
Done.
|
| + return pp_instance_; |
| + } |
| + |
| + bool GetSyncSocket(int *sync_socket); |
|
brettw
2010/11/22 18:22:09
Put the * next to the type.
nfullagar
2010/11/23 02:48:58
Done.
|
| + |
| + bool 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_ |
| - |