Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Side by Side Diff: ppapi/shared_impl/ppb_video_capture_shared.cc

Issue 10837064: Corresponding change in Pepper since EnumerateDevices contract is changed. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_video_capture_shared.h" 5 #include "ppapi/shared_impl/ppb_video_capture_shared.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/shared_impl/ppb_device_ref_shared.h" 9 #include "ppapi/shared_impl/ppb_device_ref_shared.h"
10 #include "ppapi/shared_impl/ppb_resource_array_shared.h" 10 #include "ppapi/shared_impl/ppb_resource_array_shared.h"
(...skipping 26 matching lines...) Expand all
37 37
38 int32_t PPB_VideoCapture_Shared::EnumerateDevices( 38 int32_t PPB_VideoCapture_Shared::EnumerateDevices(
39 PP_Resource* devices, 39 PP_Resource* devices,
40 scoped_refptr<TrackedCallback> callback) { 40 scoped_refptr<TrackedCallback> callback) {
41 if (TrackedCallback::IsPending(enumerate_devices_callback_)) 41 if (TrackedCallback::IsPending(enumerate_devices_callback_))
42 return PP_ERROR_INPROGRESS; 42 return PP_ERROR_INPROGRESS;
43 43
44 return InternalEnumerateDevices(devices, callback); 44 return InternalEnumerateDevices(devices, callback);
45 } 45 }
46 46
47 int32_t PPB_VideoCapture_Shared::StopEnumerateDevices(
48 PP_Resource* devices) {
49 devices_ = NULL;
50 enumerate_devices_callback_ = NULL;
51 return InternalStopEnumerateDevices(devices);
52 }
53
47 int32_t PPB_VideoCapture_Shared::Open( 54 int32_t PPB_VideoCapture_Shared::Open(
48 const std::string& device_id, 55 const std::string& device_id,
49 const PP_VideoCaptureDeviceInfo_Dev& requested_info, 56 const PP_VideoCaptureDeviceInfo_Dev& requested_info,
50 uint32_t buffer_count, 57 uint32_t buffer_count,
51 scoped_refptr<TrackedCallback> callback) { 58 scoped_refptr<TrackedCallback> callback) {
52 if (open_state_ != BEFORE_OPEN) 59 if (open_state_ != BEFORE_OPEN)
53 return PP_ERROR_FAILED; 60 return PP_ERROR_FAILED;
54 61
55 if (TrackedCallback::IsPending(open_callback_)) 62 if (TrackedCallback::IsPending(open_callback_))
56 return PP_ERROR_INPROGRESS; 63 return PP_ERROR_INPROGRESS;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 122
116 void PPB_VideoCapture_Shared::OnEnumerateDevicesComplete( 123 void PPB_VideoCapture_Shared::OnEnumerateDevicesComplete(
117 int32_t result, 124 int32_t result,
118 const std::vector<DeviceRefData>& devices) { 125 const std::vector<DeviceRefData>& devices) {
119 DCHECK(TrackedCallback::IsPending(enumerate_devices_callback_)); 126 DCHECK(TrackedCallback::IsPending(enumerate_devices_callback_));
120 127
121 if (result == PP_OK && devices_) { 128 if (result == PP_OK && devices_) {
122 *devices_ = PPB_DeviceRef_Shared::CreateResourceArray( 129 *devices_ = PPB_DeviceRef_Shared::CreateResourceArray(
123 resource_object_type_, pp_instance(), devices); 130 resource_object_type_, pp_instance(), devices);
124 } 131 }
125 devices_ = NULL; 132 enumerate_devices_callback_->Run(result);
126
127 TrackedCallback::ClearAndRun(&enumerate_devices_callback_, result);
128 } 133 }
129 134
130 void PPB_VideoCapture_Shared::OnOpenComplete(int32_t result) { 135 void PPB_VideoCapture_Shared::OnOpenComplete(int32_t result) {
131 if (open_state_ == BEFORE_OPEN && result == PP_OK) 136 if (open_state_ == BEFORE_OPEN && result == PP_OK)
132 open_state_ = OPENED; 137 open_state_ = OPENED;
133 138
134 // The callback may have been aborted by Close(), or the open operation is 139 // The callback may have been aborted by Close(), or the open operation is
135 // completed synchronously. 140 // completed synchronously.
136 if (TrackedCallback::IsPending(open_callback_)) 141 if (TrackedCallback::IsPending(open_callback_))
137 TrackedCallback::ClearAndRun(&open_callback_, result); 142 TrackedCallback::ClearAndRun(&open_callback_, result);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 } 183 }
179 break; 184 break;
180 } 185 }
181 } 186 }
182 187
183 status_ = status; 188 status_ = status;
184 return true; 189 return true;
185 } 190 }
186 191
187 } // namespace ppapi 192 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698