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

Side by Side Diff: ppapi/cpp/dev/video_capture_dev.cc

Issue 115343006: Pepper: Remove unused interface versions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nits. Created 6 years, 11 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/cpp/dev/video_capture_dev.h" 5 #include "ppapi/cpp/dev/video_capture_dev.h"
6 6
7 #include "ppapi/c/dev/ppb_video_capture_dev.h" 7 #include "ppapi/c/dev/ppb_video_capture_dev.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/cpp/dev/resource_array_dev.h" 9 #include "ppapi/cpp/dev/resource_array_dev.h"
10 #include "ppapi/cpp/instance_handle.h" 10 #include "ppapi/cpp/instance_handle.h"
11 #include "ppapi/cpp/module_impl.h" 11 #include "ppapi/cpp/module_impl.h"
12 12
13 namespace pp { 13 namespace pp {
14 14
15 namespace { 15 namespace {
16 16
17 template <> const char* interface_name<PPB_VideoCapture_Dev_0_2>() {
18 return PPB_VIDEOCAPTURE_DEV_INTERFACE_0_2;
19 }
20
21 template <> const char* interface_name<PPB_VideoCapture_Dev_0_3>() { 17 template <> const char* interface_name<PPB_VideoCapture_Dev_0_3>() {
22 return PPB_VIDEOCAPTURE_DEV_INTERFACE_0_3; 18 return PPB_VIDEOCAPTURE_DEV_INTERFACE_0_3;
23 } 19 }
24 20
25 } // namespace 21 } // namespace
26 22
27 VideoCapture_Dev::VideoCapture_Dev(const InstanceHandle& instance) { 23 VideoCapture_Dev::VideoCapture_Dev(const InstanceHandle& instance) {
28 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 24 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
29 PassRefFromConstructor(get_interface<PPB_VideoCapture_Dev_0_3>()->Create( 25 PassRefFromConstructor(get_interface<PPB_VideoCapture_Dev_0_3>()->Create(
30 instance.pp_instance())); 26 instance.pp_instance()));
31 } else if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
32 PassRefFromConstructor(get_interface<PPB_VideoCapture_Dev_0_2>()->Create(
33 instance.pp_instance()));
34 } 27 }
35 } 28 }
36 29
37 VideoCapture_Dev::VideoCapture_Dev(PP_Resource resource) 30 VideoCapture_Dev::VideoCapture_Dev(PP_Resource resource)
38 : Resource(resource) { 31 : Resource(resource) {
39 } 32 }
40 33
41 VideoCapture_Dev::~VideoCapture_Dev() { 34 VideoCapture_Dev::~VideoCapture_Dev() {
42 } 35 }
43 36
44 // static 37 // static
45 bool VideoCapture_Dev::IsAvailable() { 38 bool VideoCapture_Dev::IsAvailable() {
46 return has_interface<PPB_VideoCapture_Dev_0_3>() || 39 return has_interface<PPB_VideoCapture_Dev_0_3>();
47 has_interface<PPB_VideoCapture_Dev_0_2>();
48 } 40 }
49 41
50 int32_t VideoCapture_Dev::EnumerateDevices( 42 int32_t VideoCapture_Dev::EnumerateDevices(
51 const CompletionCallbackWithOutput<std::vector<DeviceRef_Dev> >& callback) { 43 const CompletionCallbackWithOutput<std::vector<DeviceRef_Dev> >& callback) {
52 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 44 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
53 return get_interface<PPB_VideoCapture_Dev_0_3>()->EnumerateDevices( 45 return get_interface<PPB_VideoCapture_Dev_0_3>()->EnumerateDevices(
54 pp_resource(), callback.output(), callback.pp_completion_callback()); 46 pp_resource(), callback.output(), callback.pp_completion_callback());
55 } 47 }
56 48
57 if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
58 if (!callback.pp_completion_callback().func)
59 return callback.MayForce(PP_ERROR_BLOCKS_MAIN_THREAD);
60
61 // ArrayOutputCallbackConverter is responsible to delete it.
62 ResourceArray_Dev::ArrayOutputCallbackData* data =
63 new ResourceArray_Dev::ArrayOutputCallbackData(
64 callback.output(), callback.pp_completion_callback());
65 return get_interface<PPB_VideoCapture_Dev_0_2>()->EnumerateDevices(
66 pp_resource(), &data->resource_array_output,
67 PP_MakeCompletionCallback(
68 &ResourceArray_Dev::ArrayOutputCallbackConverter, data));
69 }
70
71 return callback.MayForce(PP_ERROR_NOINTERFACE); 49 return callback.MayForce(PP_ERROR_NOINTERFACE);
72 } 50 }
73 51
74 int32_t VideoCapture_Dev::MonitorDeviceChange( 52 int32_t VideoCapture_Dev::MonitorDeviceChange(
75 PP_MonitorDeviceChangeCallback callback, 53 PP_MonitorDeviceChangeCallback callback,
76 void* user_data) { 54 void* user_data) {
77 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 55 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
78 return get_interface<PPB_VideoCapture_Dev_0_3>()->MonitorDeviceChange( 56 return get_interface<PPB_VideoCapture_Dev_0_3>()->MonitorDeviceChange(
79 pp_resource(), callback, user_data); 57 pp_resource(), callback, user_data);
80 } 58 }
81 59
82 return PP_ERROR_NOINTERFACE; 60 return PP_ERROR_NOINTERFACE;
83 } 61 }
84 62
85 int32_t VideoCapture_Dev::Open( 63 int32_t VideoCapture_Dev::Open(
86 const DeviceRef_Dev& device_ref, 64 const DeviceRef_Dev& device_ref,
87 const PP_VideoCaptureDeviceInfo_Dev& requested_info, 65 const PP_VideoCaptureDeviceInfo_Dev& requested_info,
88 uint32_t buffer_count, 66 uint32_t buffer_count,
89 const CompletionCallback& callback) { 67 const CompletionCallback& callback) {
90 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 68 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
91 return get_interface<PPB_VideoCapture_Dev_0_3>()->Open( 69 return get_interface<PPB_VideoCapture_Dev_0_3>()->Open(
92 pp_resource(), device_ref.pp_resource(), &requested_info, buffer_count, 70 pp_resource(), device_ref.pp_resource(), &requested_info, buffer_count,
93 callback.pp_completion_callback()); 71 callback.pp_completion_callback());
94 } 72 }
95 if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
96 return get_interface<PPB_VideoCapture_Dev_0_2>()->Open(
97 pp_resource(), device_ref.pp_resource(), &requested_info, buffer_count,
98 callback.pp_completion_callback());
99 }
100 73
101 return callback.MayForce(PP_ERROR_NOINTERFACE); 74 return callback.MayForce(PP_ERROR_NOINTERFACE);
102 } 75 }
103 76
104 int32_t VideoCapture_Dev::StartCapture() { 77 int32_t VideoCapture_Dev::StartCapture() {
105 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 78 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
106 return get_interface<PPB_VideoCapture_Dev_0_3>()->StartCapture( 79 return get_interface<PPB_VideoCapture_Dev_0_3>()->StartCapture(
107 pp_resource()); 80 pp_resource());
108 } 81 }
109 if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
110 return get_interface<PPB_VideoCapture_Dev_0_2>()->StartCapture(
111 pp_resource());
112 }
113 82
114 return PP_ERROR_NOINTERFACE; 83 return PP_ERROR_NOINTERFACE;
115 } 84 }
116 85
117 int32_t VideoCapture_Dev::ReuseBuffer(uint32_t buffer) { 86 int32_t VideoCapture_Dev::ReuseBuffer(uint32_t buffer) {
118 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 87 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
119 return get_interface<PPB_VideoCapture_Dev_0_3>()->ReuseBuffer(pp_resource(), 88 return get_interface<PPB_VideoCapture_Dev_0_3>()->ReuseBuffer(pp_resource(),
120 buffer); 89 buffer);
121 } 90 }
122 if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
123 return get_interface<PPB_VideoCapture_Dev_0_2>()->ReuseBuffer(pp_resource(),
124 buffer);
125 }
126 91
127 return PP_ERROR_NOINTERFACE; 92 return PP_ERROR_NOINTERFACE;
128 } 93 }
129 94
130 int32_t VideoCapture_Dev::StopCapture() { 95 int32_t VideoCapture_Dev::StopCapture() {
131 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 96 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
132 return get_interface<PPB_VideoCapture_Dev_0_3>()->StopCapture( 97 return get_interface<PPB_VideoCapture_Dev_0_3>()->StopCapture(
133 pp_resource()); 98 pp_resource());
134 } 99 }
135 if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
136 return get_interface<PPB_VideoCapture_Dev_0_2>()->StopCapture(
137 pp_resource());
138 }
139 100
140 return PP_ERROR_NOINTERFACE; 101 return PP_ERROR_NOINTERFACE;
141 } 102 }
142 103
143 void VideoCapture_Dev::Close() { 104 void VideoCapture_Dev::Close() {
144 if (has_interface<PPB_VideoCapture_Dev_0_3>()) { 105 if (has_interface<PPB_VideoCapture_Dev_0_3>()) {
145 get_interface<PPB_VideoCapture_Dev_0_3>()->Close(pp_resource()); 106 get_interface<PPB_VideoCapture_Dev_0_3>()->Close(pp_resource());
146 } else if (has_interface<PPB_VideoCapture_Dev_0_2>()) {
147 get_interface<PPB_VideoCapture_Dev_0_2>()->Close(pp_resource());
148 } 107 }
149 } 108 }
150 109
151 } // namespace pp 110 } // namespace pp
OLDNEW
« no previous file with comments | « ppapi/cpp/dev/audio_input_dev.cc ('k') | ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698