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

Unified Diff: ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_audio_config_rpc_server.cc

Issue 7740013: Cloning a bunch of stuff from the native_client repository at r6528 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_audio_config_rpc_server.cc
===================================================================
--- ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_audio_config_rpc_server.cc (revision 0)
+++ ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_audio_config_rpc_server.cc (revision 0)
@@ -0,0 +1,128 @@
+// Copyright (c) 2010 The Native Client Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// SRPC-abstraction wrappers around PPB_AudioConfig functions.
+
+#include "ppapi/c/ppb_audio_config.h"
+#include "native_client/src/include/portability.h"
+#include "native_client/src/shared/ppapi_proxy/browser_globals.h"
+#include "native_client/src/shared/ppapi_proxy/plugin_globals.h"
+#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "srpcgen/ppb_rpc.h"
+
+using ppapi_proxy::DebugPrintf;
+
+static const PPB_AudioConfig* GetAudioConfigInterface() {
+ static const PPB_AudioConfig* audioConfig =
+ static_cast<const PPB_AudioConfig*>
+ (ppapi_proxy::GetBrowserInterface(PPB_AUDIO_CONFIG_INTERFACE));
+ return audioConfig;
+}
+
+void PpbAudioConfigRpcServer::PPB_AudioConfig_CreateStereo16Bit(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Instance instance,
+ int32_t sample_rate,
+ int32_t sample_frame_count,
+ PP_Resource* resource) {
+ NaClSrpcClosureRunner runner(done);
+ const PPB_AudioConfig* audio = GetAudioConfigInterface();
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+ if (NULL == audio) {
+ return;
+ }
+ if (NULL == resource) {
+ return;
+ }
+ *resource = audio->CreateStereo16Bit(
+ instance, static_cast<PP_AudioSampleRate>(sample_rate),
+ sample_frame_count);
+ DebugPrintf("PPB_AudioConfig::CreateStereo16Bit: resource=%"NACL_PRIu32"\n",
+ *resource);
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbAudioConfigRpcServer::PPB_AudioConfig_RecommendSampleFrameCount(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ int32_t sample_rate,
+ int32_t request_sample_frame_count,
+ int32_t* sample_frame_count) {
+ NaClSrpcClosureRunner runner(done);
+ const PPB_AudioConfig* audio = GetAudioConfigInterface();
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+ if (NULL == audio) {
+ return;
+ }
+ *sample_frame_count = audio->RecommendSampleFrameCount(
+ static_cast<PP_AudioSampleRate>(sample_rate),
+ request_sample_frame_count);
+ DebugPrintf("PPB_AudioConfig::RecommendSampleFrameCount: "
+ "sample_frame_count=%"NACL_PRIu32"\n", *sample_frame_count);
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbAudioConfigRpcServer::PPB_AudioConfig_IsAudioConfig(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* success) {
+ NaClSrpcClosureRunner runner(done);
+ const PPB_AudioConfig* audio = GetAudioConfigInterface();
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+ if (NULL == audio) {
+ return;
+ }
+ PP_Bool pp_success = audio->IsAudioConfig(resource);
+ DebugPrintf("PPB_AudioConfig::IsAudioConfig: pp_success=%d\n", pp_success);
+ *success = (pp_success == PP_TRUE);
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbAudioConfigRpcServer::PPB_AudioConfig_GetSampleRate(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* sample_rate) {
+ NaClSrpcClosureRunner runner(done);
+ const PPB_AudioConfig* audio = GetAudioConfigInterface();
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+ if (NULL == audio) {
+ return;
+ }
+ if (ppapi_proxy::kInvalidResourceId == resource) {
+ return;
+ }
+ if (NULL == sample_rate) {
+ return;
+ }
+ *sample_rate = audio->GetSampleRate(resource);
+ DebugPrintf("PPB_AudioConfig::GetSampleRate: pp_success=%"NACL_PRIu32"\n",
+ *sample_rate);
+ rpc->result = NACL_SRPC_RESULT_OK;
+}
+
+void PpbAudioConfigRpcServer::PPB_AudioConfig_GetSampleFrameCount(
+ NaClSrpcRpc* rpc,
+ NaClSrpcClosure* done,
+ PP_Resource resource,
+ int32_t* sample_frame_count) {
+ NaClSrpcClosureRunner runner(done);
+ const PPB_AudioConfig* audio = GetAudioConfigInterface();
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR;
+ if (NULL == audio) {
+ return;
+ }
+ if (ppapi_proxy::kInvalidResourceId == resource) {
+ return;
+ }
+ if (NULL == sample_frame_count) {
+ return;
+ }
+ *sample_frame_count = audio->GetSampleFrameCount(resource);
+ DebugPrintf("PPB_AudioConfig::GetSampleFrameCount: "
+ "sample_frame_count=%"NACL_PRIu32"\n", *sample_frame_count);
+ rpc->result = NACL_SRPC_RESULT_OK;
+}

Powered by Google App Engine
This is Rietveld 408576698