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 120806) |
+++ ppapi/native_client/src/shared/ppapi_proxy/browser_ppb_audio_config_rpc_server.cc (working copy) |
@@ -13,6 +13,13 @@ |
using ppapi_proxy::DebugPrintf; |
+static const PPB_AudioConfig_1_0* GetAudioConfigInterface_1_0() { |
+ static const PPB_AudioConfig_1_0* audioConfig = |
brettw
2012/02/10 19:01:33
style: audioConfig -> audio_config
nfullagar
2012/02/14 00:42:37
Done.
|
+ static_cast<const PPB_AudioConfig_1_0*> |
+ (ppapi_proxy::GetBrowserInterface(PPB_AUDIO_CONFIG_INTERFACE_1_0)); |
+ return audioConfig; |
+} |
+ |
static const PPB_AudioConfig* GetAudioConfigInterface() { |
static const PPB_AudioConfig* audioConfig = |
static_cast<const PPB_AudioConfig*> |
@@ -40,13 +47,41 @@ |
instance, static_cast<PP_AudioSampleRate>(sample_rate), |
sample_frame_count); |
DebugPrintf("PPB_AudioConfig::CreateStereo16Bit: resource=%"NACL_PRId32"\n", |
- *resource); |
+ *resource); |
+ DebugPrintf( |
+ "PPB_AudioConfig::CreateStereo16Bit: sample_rate=%"NACL_PRIu32"\n", |
+ sample_rate); |
+ DebugPrintf( |
+ "PPB_AudioConfig::CreateStereo16Bit: frame_count=%"NACL_PRIu32"\n", |
+ sample_frame_count); |
rpc->result = NACL_SRPC_RESULT_OK; |
} |
+// Preserve old behavior for applications that request 1.0 interface. |
+void PpbAudioConfigRpcServer::PPB_AudioConfig_RecommendSampleFrameCount_1_0( |
+ 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_1_0* audio = GetAudioConfigInterface_1_0(); |
+ 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_1_0: " |
+ "sample_frame_count=%"NACL_PRId32"\n", *sample_frame_count); |
+ rpc->result = NACL_SRPC_RESULT_OK; |
+} |
+ |
void PpbAudioConfigRpcServer::PPB_AudioConfig_RecommendSampleFrameCount( |
NaClSrpcRpc* rpc, |
NaClSrpcClosure* done, |
+ PP_Instance instance, |
int32_t sample_rate, |
int32_t request_sample_frame_count, |
int32_t* sample_frame_count) { |
@@ -57,6 +92,7 @@ |
return; |
} |
*sample_frame_count = audio->RecommendSampleFrameCount( |
+ instance, |
static_cast<PP_AudioSampleRate>(sample_rate), |
request_sample_frame_count); |
DebugPrintf("PPB_AudioConfig::RecommendSampleFrameCount: " |
@@ -126,3 +162,20 @@ |
"sample_frame_count=%"NACL_PRId32"\n", *sample_frame_count); |
rpc->result = NACL_SRPC_RESULT_OK; |
} |
+ |
+void PpbAudioConfigRpcServer::PPB_AudioConfig_RecommendSampleRate( |
+ NaClSrpcRpc* rpc, |
+ NaClSrpcClosure* done, |
+ PP_Instance instance, |
+ int32_t* sample_rate) { |
+ NaClSrpcClosureRunner runner(done); |
+ const PPB_AudioConfig* audio = GetAudioConfigInterface(); |
+ rpc->result = NACL_SRPC_RESULT_APP_ERROR; |
+ if (NULL == audio) { |
+ return; |
+ } |
+ *sample_rate = audio->RecommendSampleRate(instance); |
+ DebugPrintf("PPB_AudioConfig::RecommendSampleRate: " |
+ "sample_rate=%"NACL_PRIu32"\n", *sample_rate); |
+ rpc->result = NACL_SRPC_RESULT_OK; |
+} |