Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ppapi/shared_impl/ppb_audio_input_shared.h" | 5 #include "ppapi/shared_impl/ppb_audio_input_shared.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "media/audio/audio_parameters.h" | 8 #include "media/audio/audio_parameters.h" |
| 9 #include "ppapi/c/pp_errors.h" | 9 #include "ppapi/c/pp_errors.h" |
| 10 #include "ppapi/shared_impl/ppapi_globals.h" | 10 #include "ppapi/shared_impl/ppapi_globals.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 | 55 |
| 56 int32_t PPB_AudioInput_Shared::EnumerateDevices( | 56 int32_t PPB_AudioInput_Shared::EnumerateDevices( |
| 57 PP_Resource* devices, | 57 PP_Resource* devices, |
| 58 scoped_refptr<TrackedCallback> callback) { | 58 scoped_refptr<TrackedCallback> callback) { |
| 59 if (TrackedCallback::IsPending(enumerate_devices_callback_)) | 59 if (TrackedCallback::IsPending(enumerate_devices_callback_)) |
| 60 return PP_ERROR_INPROGRESS; | 60 return PP_ERROR_INPROGRESS; |
| 61 | 61 |
| 62 return InternalEnumerateDevices(devices, callback); | 62 return InternalEnumerateDevices(devices, callback); |
| 63 } | 63 } |
| 64 | 64 |
| 65 int32_t PPB_AudioInput_Shared::StopEnumerateDevices(PP_Resource* devices) { | |
| 66 devices_ = NULL; | |
| 67 enumerate_devices_callback_ = NULL; | |
| 68 return InternalStopEnumerateDevices(devices); | |
| 69 } | |
| 70 | |
| 65 int32_t PPB_AudioInput_Shared::Open( | 71 int32_t PPB_AudioInput_Shared::Open( |
| 66 const std::string& device_id, | 72 const std::string& device_id, |
| 67 PP_Resource config, | 73 PP_Resource config, |
| 68 PPB_AudioInput_Callback audio_input_callback, | 74 PPB_AudioInput_Callback audio_input_callback, |
| 69 void* user_data, | 75 void* user_data, |
| 70 scoped_refptr<TrackedCallback> callback) { | 76 scoped_refptr<TrackedCallback> callback) { |
| 71 if (!audio_input_callback) | 77 if (!audio_input_callback) |
| 72 return PP_ERROR_BADARGUMENT; | 78 return PP_ERROR_BADARGUMENT; |
| 73 | 79 |
| 74 return CommonOpen(device_id, config, audio_input_callback, user_data, | 80 return CommonOpen(device_id, config, audio_input_callback, user_data, |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 131 | 137 |
| 132 void PPB_AudioInput_Shared::OnEnumerateDevicesComplete( | 138 void PPB_AudioInput_Shared::OnEnumerateDevicesComplete( |
| 133 int32_t result, | 139 int32_t result, |
| 134 const std::vector<DeviceRefData>& devices) { | 140 const std::vector<DeviceRefData>& devices) { |
| 135 DCHECK(TrackedCallback::IsPending(enumerate_devices_callback_)); | 141 DCHECK(TrackedCallback::IsPending(enumerate_devices_callback_)); |
| 136 | 142 |
| 137 if (result == PP_OK && devices_) { | 143 if (result == PP_OK && devices_) { |
| 138 *devices_ = PPB_DeviceRef_Shared::CreateResourceArray( | 144 *devices_ = PPB_DeviceRef_Shared::CreateResourceArray( |
| 139 resource_object_type_, pp_instance(), devices); | 145 resource_object_type_, pp_instance(), devices); |
| 140 } | 146 } |
| 141 devices_ = NULL; | |
| 142 | 147 |
| 143 TrackedCallback::ClearAndRun(&enumerate_devices_callback_, result); | 148 enumerate_devices_callback_->Run(result); |
|
viettrungluu
2012/08/02 02:36:14
You can't use a completion callback any more. Comp
| |
| 144 } | 149 } |
| 145 | 150 |
| 146 void PPB_AudioInput_Shared::OnOpenComplete( | 151 void PPB_AudioInput_Shared::OnOpenComplete( |
| 147 int32_t result, | 152 int32_t result, |
| 148 base::SharedMemoryHandle shared_memory_handle, | 153 base::SharedMemoryHandle shared_memory_handle, |
| 149 size_t shared_memory_size, | 154 size_t shared_memory_size, |
| 150 base::SyncSocket::Handle socket_handle) { | 155 base::SyncSocket::Handle socket_handle) { |
| 151 if (open_state_ == BEFORE_OPEN && result == PP_OK) { | 156 if (open_state_ == BEFORE_OPEN && result == PP_OK) { |
| 152 open_state_ = OPENED; | 157 open_state_ = OPENED; |
| 153 SetStreamInfo(shared_memory_handle, shared_memory_size, socket_handle); | 158 SetStreamInfo(shared_memory_handle, shared_memory_size, socket_handle); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 269 | 274 |
| 270 config_ = config; | 275 config_ = config; |
| 271 audio_input_callback_ = audio_input_callback; | 276 audio_input_callback_ = audio_input_callback; |
| 272 user_data_ = user_data; | 277 user_data_ = user_data; |
| 273 | 278 |
| 274 return InternalOpen(device_id, enter_config.object()->GetSampleRate(), | 279 return InternalOpen(device_id, enter_config.object()->GetSampleRate(), |
| 275 enter_config.object()->GetSampleFrameCount(), callback); | 280 enter_config.object()->GetSampleFrameCount(), callback); |
| 276 } | 281 } |
| 277 | 282 |
| 278 } // namespace ppapi | 283 } // namespace ppapi |
| OLD | NEW |