summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppapi_messages_internal.h
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-02 17:17:21 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-02 17:17:21 +0000
commit5d84d01d904a2e5fa3e17b8d9165e63a20351160 (patch)
treedd87a4d94ed6276dc1551cbc5d3c744eb268cebd /ppapi/proxy/ppapi_messages_internal.h
parent9a80065bad1506ac11163d597ace3295ddbfa8cb (diff)
downloadchromium_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.h49
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 */,