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

Side by Side Diff: ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_audio.cc

Issue 9253011: Pepper SRPC proxy style and type nits (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix bad license to pass presubmit check Created 8 years, 11 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_audio.h" 5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_audio.h"
6 6
7 #include <pthread.h> 7 #include <pthread.h>
8 #include <stdio.h> 8 #include <stdio.h>
9 #include <string.h> 9 #include <string.h>
10 #include <sys/errno.h> 10 #include <sys/errno.h>
11 #include <sys/mman.h> 11 #include <sys/mman.h>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 close(shm_); 61 close(shm_);
62 shm_ = -1; 62 shm_ = -1;
63 } 63 }
64 if (socket_ != -1) { 64 if (socket_ != -1) {
65 close(socket_); 65 close(socket_);
66 socket_ = -1; 66 socket_ = -1;
67 } 67 }
68 } 68 }
69 69
70 bool PluginAudio::InitFromBrowserResource(PP_Resource resource) { 70 bool PluginAudio::InitFromBrowserResource(PP_Resource resource) {
71 DebugPrintf("PluginAudio::InitFromBrowserResource: resource=%"NACL_PRIu32"\n", 71 DebugPrintf("PluginAudio::InitFromBrowserResource: resource=%"NACL_PRId32"\n",
72 resource); 72 resource);
73 resource_ = resource; 73 resource_ = resource;
74 return true; 74 return true;
75 } 75 }
76 76
77 void PluginAudio::AudioThread(void* self) { 77 void PluginAudio::AudioThread(void* self) {
78 PluginAudio* audio = static_cast<PluginAudio*>(self); 78 PluginAudio* audio = static_cast<PluginAudio*>(self);
79 DebugPrintf("PluginAudio::AudioThread: self=%p\n", self); 79 DebugPrintf("PluginAudio::AudioThread: self=%p\n", self);
80 while (true) { 80 while (true) {
81 int32_t sync_value; 81 int32_t sync_value;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 return false; 146 return false;
147 } 147 }
148 148
149 // Start of untrusted PPB_Audio functions 149 // Start of untrusted PPB_Audio functions
150 namespace { 150 namespace {
151 151
152 PP_Resource Create(PP_Instance instance, 152 PP_Resource Create(PP_Instance instance,
153 PP_Resource config, 153 PP_Resource config,
154 PPB_Audio_Callback user_callback, 154 PPB_Audio_Callback user_callback,
155 void* user_data) { 155 void* user_data) {
156 DebugPrintf("PPB_Audio::Create: instance=%"NACL_PRIu32" config=%"NACL_PRIu32 156 DebugPrintf("PPB_Audio::Create: instance=%"NACL_PRId32" config=%"NACL_PRId32
157 " user_callback=%p user_data=%p\n", 157 " user_callback=%p user_data=%p\n",
158 instance, config, user_callback, user_data); 158 instance, config, user_callback, user_data);
159 PP_Resource audio_resource; 159 PP_Resource audio_resource;
160 // Proxy to browser Create, get audio PP_Resource 160 // Proxy to browser Create, get audio PP_Resource
161 NaClSrpcError srpc_result = PpbAudioRpcClient::PPB_Audio_Create( 161 NaClSrpcError srpc_result = PpbAudioRpcClient::PPB_Audio_Create(
162 GetMainSrpcChannel(), 162 GetMainSrpcChannel(),
163 instance, 163 instance,
164 config, 164 config,
165 &audio_resource); 165 &audio_resource);
166 DebugPrintf("PPB_Audio::Create: %s\n", NaClSrpcErrorString(srpc_result)); 166 DebugPrintf("PPB_Audio::Create: %s\n", NaClSrpcErrorString(srpc_result));
167 if (NACL_SRPC_RESULT_OK != srpc_result) { 167 if (NACL_SRPC_RESULT_OK != srpc_result) {
168 return kInvalidResourceId; 168 return kInvalidResourceId;
169 } 169 }
170 if (kInvalidResourceId == audio_resource) { 170 if (kInvalidResourceId == audio_resource) {
171 return kInvalidResourceId; 171 return kInvalidResourceId;
172 } 172 }
173 scoped_refptr<PluginAudio> audio = 173 scoped_refptr<PluginAudio> audio =
174 PluginResource::AdoptAs<PluginAudio>(audio_resource); 174 PluginResource::AdoptAs<PluginAudio>(audio_resource);
175 if (audio.get()) { 175 if (audio.get()) {
176 audio->set_callback(user_callback, user_data); 176 audio->set_callback(user_callback, user_data);
177 return audio_resource; 177 return audio_resource;
178 } 178 }
179 return kInvalidResourceId; 179 return kInvalidResourceId;
180 } 180 }
181 181
182 PP_Bool IsAudio(PP_Resource resource) { 182 PP_Bool IsAudio(PP_Resource resource) {
183 int32_t success; 183 int32_t success;
184 DebugPrintf("PPB_Audio::IsAudio: resource=%"NACL_PRIu32"\n", resource); 184 DebugPrintf("PPB_Audio::IsAudio: resource=%"NACL_PRId32"\n", resource);
185 NaClSrpcError srpc_result = 185 NaClSrpcError srpc_result =
186 PpbAudioRpcClient::PPB_Audio_IsAudio( 186 PpbAudioRpcClient::PPB_Audio_IsAudio(
187 GetMainSrpcChannel(), 187 GetMainSrpcChannel(),
188 resource, 188 resource,
189 &success); 189 &success);
190 DebugPrintf("PPB_Audio::IsAudio: %s\n", NaClSrpcErrorString(srpc_result)); 190 DebugPrintf("PPB_Audio::IsAudio: %s\n", NaClSrpcErrorString(srpc_result));
191 if (NACL_SRPC_RESULT_OK != srpc_result) { 191 if (NACL_SRPC_RESULT_OK != srpc_result) {
192 return PP_FALSE; 192 return PP_FALSE;
193 } 193 }
194 return PP_FromBool(success); 194 return PP_FromBool(success);
195 } 195 }
196 196
197 PP_Resource GetCurrentConfig(PP_Resource audio) { 197 PP_Resource GetCurrentConfig(PP_Resource audio) {
198 DebugPrintf("PPB_Audio::GetCurrentConfig: audio=%"NACL_PRIu32"\n", audio); 198 DebugPrintf("PPB_Audio::GetCurrentConfig: audio=%"NACL_PRId32"\n", audio);
199 PP_Resource config_resource; 199 PP_Resource config_resource;
200 NaClSrpcError srpc_result = 200 NaClSrpcError srpc_result =
201 PpbAudioRpcClient::PPB_Audio_GetCurrentConfig( 201 PpbAudioRpcClient::PPB_Audio_GetCurrentConfig(
202 GetMainSrpcChannel(), 202 GetMainSrpcChannel(),
203 audio, 203 audio,
204 &config_resource); 204 &config_resource);
205 DebugPrintf("PPB_Audio::GetCurrentConfig: %s\n", 205 DebugPrintf("PPB_Audio::GetCurrentConfig: %s\n",
206 NaClSrpcErrorString(srpc_result)); 206 NaClSrpcErrorString(srpc_result));
207 if (NACL_SRPC_RESULT_OK != srpc_result) { 207 if (NACL_SRPC_RESULT_OK != srpc_result) {
208 return kInvalidResourceId; 208 return kInvalidResourceId;
209 } 209 }
210 return config_resource; 210 return config_resource;
211 } 211 }
212 212
213 PP_Bool StartPlayback(PP_Resource audio_resource) { 213 PP_Bool StartPlayback(PP_Resource audio_resource) {
214 DebugPrintf("PPB_Audio::StartPlayback: audio_resource=%"NACL_PRIu32"\n", 214 DebugPrintf("PPB_Audio::StartPlayback: audio_resource=%"NACL_PRId32"\n",
215 audio_resource); 215 audio_resource);
216 scoped_refptr<PluginAudio> audio = 216 scoped_refptr<PluginAudio> audio =
217 PluginResource::GetAs<PluginAudio>(audio_resource); 217 PluginResource::GetAs<PluginAudio>(audio_resource);
218 if (NULL == audio.get()) { 218 if (NULL == audio.get()) {
219 return PP_FALSE; 219 return PP_FALSE;
220 } 220 }
221 if (audio->state() == AUDIO_INCOMPLETE) { 221 if (audio->state() == AUDIO_INCOMPLETE) {
222 audio->set_state(AUDIO_PENDING); 222 audio->set_state(AUDIO_PENDING);
223 } 223 }
224 if (audio->state() == AUDIO_READY) { 224 if (audio->state() == AUDIO_READY) {
225 if (!audio->StartAudioThread()) { 225 if (!audio->StartAudioThread()) {
226 return PP_FALSE; 226 return PP_FALSE;
227 } 227 }
228 } 228 }
229 int32_t success; 229 int32_t success;
230 NaClSrpcError srpc_result = 230 NaClSrpcError srpc_result =
231 PpbAudioRpcClient::PPB_Audio_StartPlayback( 231 PpbAudioRpcClient::PPB_Audio_StartPlayback(
232 GetMainSrpcChannel(), 232 GetMainSrpcChannel(),
233 audio_resource, 233 audio_resource,
234 &success); 234 &success);
235 DebugPrintf("PPB_Audio::StartPlayback: %s\n", 235 DebugPrintf("PPB_Audio::StartPlayback: %s\n",
236 NaClSrpcErrorString(srpc_result)); 236 NaClSrpcErrorString(srpc_result));
237 if (NACL_SRPC_RESULT_OK != srpc_result || !success) { 237 if (NACL_SRPC_RESULT_OK != srpc_result || !success) {
238 return PP_FALSE; 238 return PP_FALSE;
239 } 239 }
240 return PP_TRUE; 240 return PP_TRUE;
241 } 241 }
242 242
243 PP_Bool StopPlayback(PP_Resource audio_resource) { 243 PP_Bool StopPlayback(PP_Resource audio_resource) {
244 DebugPrintf("PPB_Audio::StopPlayback: audio_resource=%"NACL_PRIu32"\n", 244 DebugPrintf("PPB_Audio::StopPlayback: audio_resource=%"NACL_PRId32"\n",
245 audio_resource); 245 audio_resource);
246 scoped_refptr<PluginAudio> audio = 246 scoped_refptr<PluginAudio> audio =
247 PluginResource::GetAs<PluginAudio>(audio_resource); 247 PluginResource::GetAs<PluginAudio>(audio_resource);
248 if (NULL == audio.get()) { 248 if (NULL == audio.get()) {
249 return PP_FALSE; 249 return PP_FALSE;
250 } 250 }
251 if (audio->state() == AUDIO_PENDING) { 251 if (audio->state() == AUDIO_PENDING) {
252 // audio is pending to start, but StreamCreated() hasn't occurred yet... 252 // audio is pending to start, but StreamCreated() hasn't occurred yet...
253 audio->set_state(AUDIO_INCOMPLETE); 253 audio->set_state(AUDIO_INCOMPLETE);
254 } 254 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 // memory, provided by the trusted audio implementation. 292 // memory, provided by the trusted audio implementation.
293 void PppAudioRpcServer::PPP_Audio_StreamCreated( 293 void PppAudioRpcServer::PPP_Audio_StreamCreated(
294 NaClSrpcRpc* rpc, 294 NaClSrpcRpc* rpc,
295 NaClSrpcClosure* done, 295 NaClSrpcClosure* done,
296 PP_Resource audio_resource, 296 PP_Resource audio_resource,
297 NaClSrpcImcDescType shm, 297 NaClSrpcImcDescType shm,
298 int32_t shm_size, 298 int32_t shm_size,
299 NaClSrpcImcDescType sync_socket) { 299 NaClSrpcImcDescType sync_socket) {
300 NaClSrpcClosureRunner runner(done); 300 NaClSrpcClosureRunner runner(done);
301 rpc->result = NACL_SRPC_RESULT_APP_ERROR; 301 rpc->result = NACL_SRPC_RESULT_APP_ERROR;
302 DebugPrintf("PPP_Audio::StreamCreated: audio_resource=%"NACL_PRIu32 302 DebugPrintf("PPP_Audio::StreamCreated: audio_resource=%"NACL_PRId32
303 " shm=%"NACL_PRIx32" shm_size=%"NACL_PRIuS 303 " shm=%"NACL_PRIx32" shm_size=%"NACL_PRIuS
304 " sync_socket=%"NACL_PRIx32"\n", 304 " sync_socket=%"NACL_PRIx32"\n",
305 audio_resource, shm, shm_size, sync_socket); 305 audio_resource, shm, shm_size, sync_socket);
306 scoped_refptr<ppapi_proxy::PluginAudio> audio = 306 scoped_refptr<ppapi_proxy::PluginAudio> audio =
307 ppapi_proxy::PluginResource:: 307 ppapi_proxy::PluginResource::
308 GetAs<ppapi_proxy::PluginAudio>(audio_resource); 308 GetAs<ppapi_proxy::PluginAudio>(audio_resource);
309 if (NULL == audio.get()) { 309 if (NULL == audio.get()) {
310 // Ignore if no audio_resource -> audio_instance mapping exists, 310 // Ignore if no audio_resource -> audio_instance mapping exists,
311 // the app may have shutdown audio before StreamCreated() invoked. 311 // the app may have shutdown audio before StreamCreated() invoked.
312 rpc->result = NACL_SRPC_RESULT_OK; 312 rpc->result = NACL_SRPC_RESULT_OK;
313 return; 313 return;
314 } 314 }
315 audio->StreamCreated(sync_socket, shm, shm_size); 315 audio->StreamCreated(sync_socket, shm, shm_size);
316 rpc->result = NACL_SRPC_RESULT_OK; 316 rpc->result = NACL_SRPC_RESULT_OK;
317 } 317 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698