| Index: ppapi/proxy/ppb_audio_input_proxy.cc
|
| diff --git a/ppapi/proxy/ppb_audio_input_proxy.cc b/ppapi/proxy/ppb_audio_input_proxy.cc
|
| index 32aa6b720a4b042b5e509e70837b9ec33b9d9ed4..011e332afcdbbbee92907a4eebd770134f245806 100644
|
| --- a/ppapi/proxy/ppb_audio_input_proxy.cc
|
| +++ b/ppapi/proxy/ppb_audio_input_proxy.cc
|
| @@ -36,7 +36,7 @@ class AudioInput : public PPB_AudioInput_Shared {
|
| virtual int32_t OpenTrusted(
|
| const std::string& device_id,
|
| PP_Resource config,
|
| - const PP_CompletionCallback& create_callback) OVERRIDE;
|
| + scoped_refptr<TrackedCallback> create_callback) OVERRIDE;
|
| virtual int32_t GetSyncSocket(int* sync_socket) OVERRIDE;
|
| virtual int32_t GetSharedMemory(int* shm_handle, uint32_t* shm_size) OVERRIDE;
|
| virtual const std::vector<DeviceRefData>& GetDeviceRefData() const OVERRIDE;
|
| @@ -45,11 +45,12 @@ class AudioInput : public PPB_AudioInput_Shared {
|
| // PPB_AudioInput_Shared implementation.
|
| virtual int32_t InternalEnumerateDevices(
|
| PP_Resource* devices,
|
| - PP_CompletionCallback callback) OVERRIDE;
|
| - virtual int32_t InternalOpen(const std::string& device_id,
|
| - PP_AudioSampleRate sample_rate,
|
| - uint32_t sample_frame_count,
|
| - PP_CompletionCallback callback) OVERRIDE;
|
| + scoped_refptr<TrackedCallback> callback) OVERRIDE;
|
| + virtual int32_t InternalOpen(
|
| + const std::string& device_id,
|
| + PP_AudioSampleRate sample_rate,
|
| + uint32_t sample_frame_count,
|
| + scoped_refptr<TrackedCallback> callback) OVERRIDE;
|
| virtual PP_Bool InternalStartCapture() OVERRIDE;
|
| virtual PP_Bool InternalStopCapture() OVERRIDE;
|
| virtual void InternalClose() OVERRIDE;
|
| @@ -69,9 +70,10 @@ AudioInput::~AudioInput() {
|
| Close();
|
| }
|
|
|
| -int32_t AudioInput::OpenTrusted(const std::string& device_id,
|
| - PP_Resource config,
|
| - const PP_CompletionCallback& create_callback) {
|
| +int32_t AudioInput::OpenTrusted(
|
| + const std::string& device_id,
|
| + PP_Resource config,
|
| + scoped_refptr<TrackedCallback> create_callback) {
|
| return PP_ERROR_NOTSUPPORTED; // Don't proxy the trusted interface.
|
| }
|
|
|
| @@ -89,10 +91,11 @@ const std::vector<DeviceRefData>& AudioInput::GetDeviceRefData() const {
|
| return result;
|
| }
|
|
|
| -int32_t AudioInput::InternalEnumerateDevices(PP_Resource* devices,
|
| - PP_CompletionCallback callback) {
|
| +int32_t AudioInput::InternalEnumerateDevices(
|
| + PP_Resource* devices,
|
| + scoped_refptr<TrackedCallback> callback) {
|
| devices_ = devices;
|
| - enumerate_devices_callback_ = new TrackedCallback(this, callback);
|
| + enumerate_devices_callback_ = callback;
|
| GetDispatcher()->Send(new PpapiHostMsg_PPBAudioInput_EnumerateDevices(
|
| API_ID_PPB_AUDIO_INPUT_DEV, host_resource()));
|
| return PP_OK_COMPLETIONPENDING;
|
| @@ -101,8 +104,8 @@ int32_t AudioInput::InternalEnumerateDevices(PP_Resource* devices,
|
| int32_t AudioInput::InternalOpen(const std::string& device_id,
|
| PP_AudioSampleRate sample_rate,
|
| uint32_t sample_frame_count,
|
| - PP_CompletionCallback callback) {
|
| - open_callback_ = new TrackedCallback(this, callback);
|
| + scoped_refptr<TrackedCallback> callback) {
|
| + open_callback_ = callback;
|
| GetDispatcher()->Send(new PpapiHostMsg_PPBAudioInput_Open(
|
| API_ID_PPB_AUDIO_INPUT_DEV, host_resource(), device_id, sample_rate,
|
| sample_frame_count));
|
| @@ -154,7 +157,7 @@ PP_Resource PPB_AudioInput_Proxy::CreateProxyResource0_1(
|
|
|
| AudioInput* audio_input = new AudioInput(result);
|
| int32_t open_result = audio_input->Open("", config, audio_input_callback,
|
| - user_data, AudioInput::MakeIgnoredCompletionCallback());
|
| + user_data, AudioInput::MakeIgnoredCompletionCallback(audio_input));
|
| if (open_result != PP_OK && open_result != PP_OK_COMPLETIONPENDING) {
|
| delete audio_input;
|
| return 0;
|
|
|