Index: ppapi/proxy/ppb_audio_input_proxy.cc |
=================================================================== |
--- ppapi/proxy/ppb_audio_input_proxy.cc (revision 148913) |
+++ ppapi/proxy/ppb_audio_input_proxy.cc (working copy) |
@@ -46,6 +46,7 @@ |
virtual int32_t InternalEnumerateDevices( |
PP_Resource* devices, |
scoped_refptr<TrackedCallback> callback) OVERRIDE; |
+ virtual int32_t InternalStopEnumerateDevices(PP_Resource* devices) OVERRIDE; |
virtual int32_t InternalOpen( |
const std::string& device_id, |
PP_AudioSampleRate sample_rate, |
@@ -101,6 +102,14 @@ |
return PP_OK_COMPLETIONPENDING; |
} |
+int32_t AudioInput::InternalStopEnumerateDevices(PP_Resource* devices) { |
+ if (devices_ == devices) { |
+ GetDispatcher()->Send(new PpapiHostMsg_PPBAudioInput_EnumerateDevices( |
+ API_ID_PPB_AUDIO_INPUT_DEV, host_resource())); |
+ } |
+ return PP_OK; |
+} |
+ |
int32_t AudioInput::InternalOpen(const std::string& device_id, |
PP_AudioSampleRate sample_rate, |
uint32_t sample_frame_count, |
@@ -187,6 +196,8 @@ |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudioInput_Create, OnMsgCreate) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudioInput_EnumerateDevices, |
OnMsgEnumerateDevices) |
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudioInput_StopEnumerateDevices, |
+ OnMsgStopEnumerateDevices) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudioInput_Open, OnMsgOpen) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudioInput_StartOrStop, |
OnMsgStartOrStop) |
@@ -221,6 +232,13 @@ |
enter.SetResult(enter.object()->EnumerateDevices(NULL, enter.callback())); |
} |
+void PPB_AudioInput_Proxy::OnMsgStopEnumerateDevices( |
+ const ppapi::HostResource& audio_input) { |
+ EnterHostFromHostResource<PPB_AudioInput_API> enter(audio_input); |
+ if (enter.succeeded()) |
+ enter.object()->StopEnumerateDevices(NULL); |
+} |
+ |
void PPB_AudioInput_Proxy::OnMsgOpen(const ppapi::HostResource& audio_input, |
const std::string& device_id, |
int32_t sample_rate, |