Chromium Code Reviews| Index: ppapi/proxy/ppb_audio_config_proxy.cc |
| =================================================================== |
| --- ppapi/proxy/ppb_audio_config_proxy.cc (revision 71670) |
| +++ ppapi/proxy/ppb_audio_config_proxy.cc (working copy) |
| @@ -14,8 +14,11 @@ |
| class AudioConfig : public PluginResource { |
| public: |
| - AudioConfig(PP_AudioSampleRate sample_rate, uint32_t sample_frame_count) |
| - : sample_rate_(sample_rate), |
| + AudioConfig(PP_Instance instance, |
| + PP_AudioSampleRate sample_rate, |
| + uint32_t sample_frame_count) |
| + : PluginResource(instance), |
| + sample_rate_(sample_rate), |
| sample_frame_count_(sample_frame_count) { |
| } |
| virtual ~AudioConfig() {} |
| @@ -39,28 +42,31 @@ |
| PP_AudioSampleRate sample_rate, |
| uint32_t sample_frame_count) { |
| PP_Resource result = 0; |
| - PluginDispatcher::Get()->Send(new PpapiHostMsg_PPBAudioConfig_Create( |
| - INTERFACE_ID_PPB_AUDIO_CONFIG, instance, |
| - static_cast<int32_t>(sample_rate), sample_frame_count, |
| - &result)); |
| + PluginDispatcher::GetForInstance(instance)->Send( |
| + new PpapiHostMsg_PPBAudioConfig_Create( |
| + INTERFACE_ID_PPB_AUDIO_CONFIG, instance, |
| + static_cast<int32_t>(sample_rate), sample_frame_count, |
| + &result)); |
| if (!result) |
| return 0; |
| linked_ptr<AudioConfig> object( |
| - new AudioConfig(sample_rate, sample_frame_count)); |
| - PluginDispatcher::Get()->plugin_resource_tracker()->AddResource( |
| - result, object); |
| + new AudioConfig(instance, sample_rate, sample_frame_count)); |
| + PluginResourceTracker::GetInstance()->AddResource(result, object); |
| return result; |
| } |
| uint32_t RecommendSampleFrameCount(PP_AudioSampleRate sample_rate, |
| uint32_t requested_sample_frame_count) { |
|
piman
2011/01/20 00:26:23
It sounds like this API needs a PP_Instance...
brettw
2011/01/20 00:48:45
Yes, this one is difficult. I already sent an emai
|
| - uint32_t result = 0; |
| - PluginDispatcher::Get()->Send( |
| - new PpapiHostMsg_PPBAudioConfig_RecommendSampleFrameCount( |
| - INTERFACE_ID_PPB_AUDIO_CONFIG, static_cast<int32_t>(sample_rate), |
| - requested_sample_frame_count, &result)); |
| - return result; |
| + // TODO(brettw) Currently we don't actually query to get a value from the |
| + // hardware, so we always return the input for in-range values. |
| + // |
| + // Danger: this code is duplicated in the audio config implementation. |
| + if (requested_sample_frame_count < PP_AUDIOMINSAMPLEFRAMECOUNT) |
| + return PP_AUDIOMINSAMPLEFRAMECOUNT; |
| + if (requested_sample_frame_count > PP_AUDIOMAXSAMPLEFRAMECOUNT) |
| + return PP_AUDIOMAXSAMPLEFRAMECOUNT; |
| + return requested_sample_frame_count; |
| } |
| PP_Bool IsAudioConfig(PP_Resource resource) { |