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

Side by Side Diff: ppapi/proxy/ppb_video_capture_proxy.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/proxy/ppb_video_capture_proxy.h" 5 #include "ppapi/proxy/ppb_video_capture_proxy.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "ppapi/c/pp_errors.h" 10 #include "ppapi/c/pp_errors.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 void SetBufferInUse(uint32_t buffer) { 158 void SetBufferInUse(uint32_t buffer) {
159 DCHECK(buffer < buffer_in_use_.size()); 159 DCHECK(buffer < buffer_in_use_.size());
160 buffer_in_use_[buffer] = true; 160 buffer_in_use_[buffer] = true;
161 } 161 }
162 162
163 private: 163 private:
164 // PPB_VideoCapture_Shared implementation. 164 // PPB_VideoCapture_Shared implementation.
165 virtual int32_t InternalEnumerateDevices( 165 virtual int32_t InternalEnumerateDevices(
166 PP_Resource* devices, 166 PP_Resource* devices,
167 scoped_refptr<TrackedCallback> callback) OVERRIDE; 167 scoped_refptr<TrackedCallback> callback) OVERRIDE;
168 virtual int32_t InternalStopEnumerateDevices(
169 PP_Resource* devices) OVERRIDE;
168 virtual int32_t InternalOpen( 170 virtual int32_t InternalOpen(
169 const std::string& device_id, 171 const std::string& device_id,
170 const PP_VideoCaptureDeviceInfo_Dev& requested_info, 172 const PP_VideoCaptureDeviceInfo_Dev& requested_info,
171 uint32_t buffer_count, 173 uint32_t buffer_count,
172 scoped_refptr<TrackedCallback> callback) OVERRIDE; 174 scoped_refptr<TrackedCallback> callback) OVERRIDE;
173 virtual int32_t InternalStartCapture() OVERRIDE; 175 virtual int32_t InternalStartCapture() OVERRIDE;
174 virtual int32_t InternalReuseBuffer(uint32_t buffer) OVERRIDE; 176 virtual int32_t InternalReuseBuffer(uint32_t buffer) OVERRIDE;
175 virtual int32_t InternalStopCapture() OVERRIDE; 177 virtual int32_t InternalStopCapture() OVERRIDE;
176 virtual void InternalClose() OVERRIDE; 178 virtual void InternalClose() OVERRIDE;
177 virtual int32_t InternalStartCapture0_1( 179 virtual int32_t InternalStartCapture0_1(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 int32_t VideoCapture::InternalEnumerateDevices( 218 int32_t VideoCapture::InternalEnumerateDevices(
217 PP_Resource* devices, 219 PP_Resource* devices,
218 scoped_refptr<TrackedCallback> callback) { 220 scoped_refptr<TrackedCallback> callback) {
219 devices_ = devices; 221 devices_ = devices;
220 enumerate_devices_callback_ = callback; 222 enumerate_devices_callback_ = callback;
221 GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_EnumerateDevices( 223 GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_EnumerateDevices(
222 API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource())); 224 API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource()));
223 return PP_OK_COMPLETIONPENDING; 225 return PP_OK_COMPLETIONPENDING;
224 } 226 }
225 227
228 int32_t VideoCapture::InternalStopEnumerateDevices(PP_Resource* devices) {
229 if (devices_ == devices) {
230 GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_StopEnumerateDevices(
231 API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource()));
232 }
233 return PP_OK;
234 }
235
226 int32_t VideoCapture::InternalOpen( 236 int32_t VideoCapture::InternalOpen(
227 const std::string& device_id, 237 const std::string& device_id,
228 const PP_VideoCaptureDeviceInfo_Dev& requested_info, 238 const PP_VideoCaptureDeviceInfo_Dev& requested_info,
229 uint32_t buffer_count, 239 uint32_t buffer_count,
230 scoped_refptr<TrackedCallback> callback) { 240 scoped_refptr<TrackedCallback> callback) {
231 open_callback_ = callback; 241 open_callback_ = callback;
232 GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_Open( 242 GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_Open(
233 API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource(), device_id, requested_info, 243 API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource(), device_id, requested_info,
234 buffer_count)); 244 buffer_count));
235 return PP_OK_COMPLETIONPENDING; 245 return PP_OK_COMPLETIONPENDING;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 return 0; 310 return 0;
301 return (new VideoCapture(result))->GetReference(); 311 return (new VideoCapture(result))->GetReference();
302 } 312 }
303 313
304 bool PPB_VideoCapture_Proxy::OnMessageReceived(const IPC::Message& msg) { 314 bool PPB_VideoCapture_Proxy::OnMessageReceived(const IPC::Message& msg) {
305 bool handled = true; 315 bool handled = true;
306 IPC_BEGIN_MESSAGE_MAP(PPB_VideoCapture_Proxy, msg) 316 IPC_BEGIN_MESSAGE_MAP(PPB_VideoCapture_Proxy, msg)
307 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Create, OnMsgCreate) 317 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Create, OnMsgCreate)
308 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_EnumerateDevices, 318 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_EnumerateDevices,
309 OnMsgEnumerateDevices) 319 OnMsgEnumerateDevices)
320 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StopEnumerateDevices,
321 OnMsgStopEnumerateDevices)
310 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Open, OnMsgOpen) 322 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Open, OnMsgOpen)
311 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StartCapture, 323 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StartCapture,
312 OnMsgStartCapture) 324 OnMsgStartCapture)
313 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_ReuseBuffer, 325 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_ReuseBuffer,
314 OnMsgReuseBuffer) 326 OnMsgReuseBuffer)
315 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StopCapture, 327 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StopCapture,
316 OnMsgStopCapture) 328 OnMsgStopCapture)
317 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Close, OnMsgClose) 329 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Close, OnMsgClose)
318 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StartCapture0_1, 330 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StartCapture0_1,
319 OnMsgStartCapture0_1) 331 OnMsgStartCapture0_1)
(...skipping 21 matching lines...) Expand all
341 void PPB_VideoCapture_Proxy::OnMsgEnumerateDevices( 353 void PPB_VideoCapture_Proxy::OnMsgEnumerateDevices(
342 const HostResource& resource) { 354 const HostResource& resource) {
343 EnterHostFromHostResourceForceCallback<PPB_VideoCapture_API> enter( 355 EnterHostFromHostResourceForceCallback<PPB_VideoCapture_API> enter(
344 resource, callback_factory_, 356 resource, callback_factory_,
345 &PPB_VideoCapture_Proxy::EnumerateDevicesACKInHost, resource); 357 &PPB_VideoCapture_Proxy::EnumerateDevicesACKInHost, resource);
346 358
347 if (enter.succeeded()) 359 if (enter.succeeded())
348 enter.SetResult(enter.object()->EnumerateDevices(NULL, enter.callback())); 360 enter.SetResult(enter.object()->EnumerateDevices(NULL, enter.callback()));
349 } 361 }
350 362
363 void PPB_VideoCapture_Proxy::OnMsgStopEnumerateDevices(
364 const HostResource& resource) {
365 EnterHostFromHostResource<PPB_VideoCapture_API> enter(resource);
366 if (enter.succeeded())
367 enter.object()->StopEnumerateDevices(NULL);
368 }
369
351 void PPB_VideoCapture_Proxy::OnMsgOpen( 370 void PPB_VideoCapture_Proxy::OnMsgOpen(
352 const ppapi::HostResource& resource, 371 const ppapi::HostResource& resource,
353 const std::string& device_id, 372 const std::string& device_id,
354 const PP_VideoCaptureDeviceInfo_Dev& info, 373 const PP_VideoCaptureDeviceInfo_Dev& info,
355 uint32_t buffers) { 374 uint32_t buffers) {
356 EnterHostFromHostResourceForceCallback<PPB_VideoCapture_API> enter( 375 EnterHostFromHostResourceForceCallback<PPB_VideoCapture_API> enter(
357 resource, callback_factory_, &PPB_VideoCapture_Proxy::OpenACKInHost, 376 resource, callback_factory_, &PPB_VideoCapture_Proxy::OpenACKInHost,
358 resource); 377 resource);
359 378
360 if (enter.succeeded()) { 379 if (enter.succeeded()) {
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 return; 553 return;
535 554
536 VideoCapture* capture = static_cast<VideoCapture*>(enter.object()); 555 VideoCapture* capture = static_cast<VideoCapture*>(enter.object());
537 capture->SetBufferInUse(buffer); 556 capture->SetBufferInUse(buffer);
538 ppp_video_capture_impl_->OnBufferReady( 557 ppp_video_capture_impl_->OnBufferReady(
539 host_resource.instance(), capture->pp_resource(), buffer); 558 host_resource.instance(), capture->pp_resource(), buffer);
540 } 559 }
541 560
542 } // namespace proxy 561 } // namespace proxy
543 } // namespace ppapi 562 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698