diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-02 17:17:21 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-02 17:17:21 +0000 |
commit | 5d84d01d904a2e5fa3e17b8d9165e63a20351160 (patch) | |
tree | dd87a4d94ed6276dc1551cbc5d3c744eb268cebd /ppapi/proxy/ppapi_messages_internal.h | |
parent | 9a80065bad1506ac11163d597ace3295ddbfa8cb (diff) | |
download | chromium_src-5d84d01d904a2e5fa3e17b8d9165e63a20351160.zip chromium_src-5d84d01d904a2e5fa3e17b8d9165e63a20351160.tar.gz chromium_src-5d84d01d904a2e5fa3e17b8d9165e63a20351160.tar.bz2 |
Implement audio proxy for Pepper.
In addition to the basic proxying, this required some changes to the dispatcher
and process infrastructure to get the handles of the processes available when
I need them so I can duplicate the shared memory handles properly into the
different processes.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/4985001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68026 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppapi_messages_internal.h')
-rw-r--r-- | ppapi/proxy/ppapi_messages_internal.h | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/ppapi/proxy/ppapi_messages_internal.h b/ppapi/proxy/ppapi_messages_internal.h index 22d8a52..d7f317e 100644 --- a/ppapi/proxy/ppapi_messages_internal.h +++ b/ppapi/proxy/ppapi_messages_internal.h @@ -13,7 +13,8 @@ // These are from the plugin to the renderer IPC_BEGIN_MESSAGES(Ppapi) // Loads the given plugin. - IPC_MESSAGE_CONTROL2(PpapiMsg_LoadPlugin, + IPC_MESSAGE_CONTROL3(PpapiMsg_LoadPlugin, + base::ProcessHandle /* host_process_handle */, FilePath /* path */, int /* renderer_id */) @@ -36,6 +37,27 @@ IPC_BEGIN_MESSAGES(Ppapi) uint32 /* serialized_callback */, int32 /* param */) + // PPB_Audio. + + // Notifies the result of the audio stream create call. This is called in + // both error cases and in the normal success case. These cases are + // differentiated by the result code, which is one of the standard PPAPI + // result codes. + // + // The handler of this message should always close all of the handles passed + // in, since some could be valid even in the error case. + IPC_MESSAGE_ROUTED5(PpapiMsg_PPBAudio_NotifyAudioStreamCreated, + PP_Resource /* audio_id */, + int32_t /* result_code (will be != PP_OK on failure) */, + IPC::PlatformFileForTransit /* socket_handle */, + base::SharedMemoryHandle /* handle */, + int32_t /* length */) + + // PPB_Graphics2D. + IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics2D_FlushACK, + PP_Resource /* graphics_2d */, + int32_t /* pp_error */) + // PPP_Class. IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty, int64 /* ppp_class */, @@ -88,11 +110,6 @@ IPC_BEGIN_MESSAGES(Ppapi) int64 /* ppp_class */, int64 /* object */) - // PPB_Graphics2D. - IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics2D_FlushACK, - PP_Resource /* graphics_2d */, - int32_t /* pp_error */) - // PPP_Instance. IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate, PP_Instance /* instance */, @@ -142,6 +159,26 @@ IPC_BEGIN_MESSAGES(PpapiHost) IPC_MESSAGE_CONTROL1(PpapiHostMsg_PluginLoaded, IPC::ChannelHandle /* handle */) + // PPB_Audio. + IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBAudio_Create, + PP_Instance /* instance_id */, + PP_Resource /* config_id */, + PP_Resource /* result */) + IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop, + PP_Resource /* audio_id */, + bool /* play */) + + // PPB_AudioConfig. + IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudioConfig_Create, + PP_Module /* module */, + int32_t /* sample_rate */, + uint32_t /* sample_frame_count */, + PP_Resource /* result */) + IPC_SYNC_MESSAGE_ROUTED1_1( + PpapiHostMsg_PPBAudioConfig_RecommendSampleFrameCount, + uint32_t /* requested */, + uint32_t /* result */) + // PPB_Buffer. IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBBuffer_Create, PP_Module /* module */, |