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

Side by Side Diff: content/renderer/pepper/pepper_media_device_manager.cc

Issue 225903006: PPAPI: Run clang_format.py on content/renderer/pepper (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 6 years, 8 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 "content/renderer/pepper/pepper_media_device_manager.h" 5 #include "content/renderer/pepper/pepper_media_device_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/renderer/media/media_stream_dispatcher.h" 8 #include "content/renderer/media/media_stream_dispatcher.h"
9 #include "content/renderer/render_view_impl.h" 9 #include "content/renderer/render_view_impl.h"
10 #include "ppapi/shared_impl/ppb_device_ref_shared.h" 10 #include "ppapi/shared_impl/ppb_device_ref_shared.h"
11 11
12 namespace content { 12 namespace content {
13 13
14 namespace { 14 namespace {
15 15
16 ppapi::DeviceRefData FromStreamDeviceInfo(const StreamDeviceInfo& info) { 16 ppapi::DeviceRefData FromStreamDeviceInfo(const StreamDeviceInfo& info) {
17 ppapi::DeviceRefData data; 17 ppapi::DeviceRefData data;
18 data.id = info.device.id; 18 data.id = info.device.id;
19 data.name = info.device.name; 19 data.name = info.device.name;
20 data.type = PepperMediaDeviceManager::FromMediaStreamType(info.device.type); 20 data.type = PepperMediaDeviceManager::FromMediaStreamType(info.device.type);
21 return data; 21 return data;
22 } 22 }
23 23
24 } // namespace 24 } // namespace
25 25
26 PepperMediaDeviceManager* PepperMediaDeviceManager::GetForRenderView( 26 PepperMediaDeviceManager* PepperMediaDeviceManager::GetForRenderView(
27 RenderView* render_view) { 27 RenderView* render_view) {
28 PepperMediaDeviceManager* handler = 28 PepperMediaDeviceManager* handler =
29 PepperMediaDeviceManager::Get(render_view); 29 PepperMediaDeviceManager::Get(render_view);
30 if (!handler) 30 if (!handler)
31 handler = new PepperMediaDeviceManager(render_view); 31 handler = new PepperMediaDeviceManager(render_view);
32 return handler; 32 return handler;
33 } 33 }
34 34
35 PepperMediaDeviceManager::PepperMediaDeviceManager(RenderView* render_view) 35 PepperMediaDeviceManager::PepperMediaDeviceManager(RenderView* render_view)
36 : RenderViewObserver(render_view), 36 : RenderViewObserver(render_view),
37 RenderViewObserverTracker<PepperMediaDeviceManager>(render_view), 37 RenderViewObserverTracker<PepperMediaDeviceManager>(render_view),
38 next_id_(1) { 38 next_id_(1) {}
39 }
40 39
41 PepperMediaDeviceManager::~PepperMediaDeviceManager() { 40 PepperMediaDeviceManager::~PepperMediaDeviceManager() {
42 DCHECK(enumerate_callbacks_.empty()); 41 DCHECK(enumerate_callbacks_.empty());
43 DCHECK(open_callbacks_.empty()); 42 DCHECK(open_callbacks_.empty());
44 } 43 }
45 44
46 int PepperMediaDeviceManager::EnumerateDevices( 45 int PepperMediaDeviceManager::EnumerateDevices(
47 PP_DeviceType_Dev type, 46 PP_DeviceType_Dev type,
48 const GURL& document_url, 47 const GURL& document_url,
49 const EnumerateDevicesCallback& callback) { 48 const EnumerateDevicesCallback& callback) {
50 enumerate_callbacks_[next_id_] = callback; 49 enumerate_callbacks_[next_id_] = callback;
51 int request_id = next_id_++; 50 int request_id = next_id_++;
52 51
53 #if defined(ENABLE_WEBRTC) 52 #if defined(ENABLE_WEBRTC)
54 GetRenderViewImpl()->media_stream_dispatcher()->EnumerateDevices( 53 GetRenderViewImpl()->media_stream_dispatcher()->EnumerateDevices(
55 request_id, AsWeakPtr(), 54 request_id,
55 AsWeakPtr(),
56 PepperMediaDeviceManager::FromPepperDeviceType(type), 56 PepperMediaDeviceManager::FromPepperDeviceType(type),
57 document_url.GetOrigin()); 57 document_url.GetOrigin());
58 #else 58 #else
59 base::MessageLoop::current()->PostTask( 59 base::MessageLoop::current()->PostTask(
60 FROM_HERE, 60 FROM_HERE,
61 base::Bind( 61 base::Bind(&PepperMediaDeviceManager::OnDevicesEnumerated,
62 &PepperMediaDeviceManager::OnDevicesEnumerated, 62 AsWeakPtr(),
63 AsWeakPtr(), 63 request_id,
64 request_id, 64 StreamDeviceInfoArray()));
65 StreamDeviceInfoArray()));
66 #endif 65 #endif
67 66
68 return request_id; 67 return request_id;
69 } 68 }
70 69
71 void PepperMediaDeviceManager::StopEnumerateDevices(int request_id) { 70 void PepperMediaDeviceManager::StopEnumerateDevices(int request_id) {
72 enumerate_callbacks_.erase(request_id); 71 enumerate_callbacks_.erase(request_id);
73 72
74 #if defined(ENABLE_WEBRTC) 73 #if defined(ENABLE_WEBRTC)
75 // Need to post task since this function might be called inside the callback 74 // Need to post task since this function might be called inside the callback
76 // of EnumerateDevices. 75 // of EnumerateDevices.
77 base::MessageLoop::current()->PostTask( 76 base::MessageLoop::current()->PostTask(
78 FROM_HERE, 77 FROM_HERE,
79 base::Bind(&MediaStreamDispatcher::StopEnumerateDevices, 78 base::Bind(&MediaStreamDispatcher::StopEnumerateDevices,
80 GetRenderViewImpl()->media_stream_dispatcher()->AsWeakPtr(), 79 GetRenderViewImpl()->media_stream_dispatcher()->AsWeakPtr(),
81 request_id, 80 request_id,
82 AsWeakPtr())); 81 AsWeakPtr()));
83 #endif 82 #endif
84 } 83 }
85 84
86 int PepperMediaDeviceManager::OpenDevice( 85 int PepperMediaDeviceManager::OpenDevice(PP_DeviceType_Dev type,
87 PP_DeviceType_Dev type, 86 const std::string& device_id,
88 const std::string& device_id, 87 const GURL& document_url,
89 const GURL& document_url, 88 const OpenDeviceCallback& callback) {
90 const OpenDeviceCallback& callback) {
91 open_callbacks_[next_id_] = callback; 89 open_callbacks_[next_id_] = callback;
92 int request_id = next_id_++; 90 int request_id = next_id_++;
93 91
94 #if defined(ENABLE_WEBRTC) 92 #if defined(ENABLE_WEBRTC)
95 GetRenderViewImpl()->media_stream_dispatcher()-> 93 GetRenderViewImpl()->media_stream_dispatcher()->OpenDevice(
96 OpenDevice( 94 request_id,
97 request_id, 95 AsWeakPtr(),
98 AsWeakPtr(), 96 device_id,
99 device_id, 97 PepperMediaDeviceManager::FromPepperDeviceType(type),
100 PepperMediaDeviceManager::FromPepperDeviceType(type), 98 document_url.GetOrigin());
101 document_url.GetOrigin());
102 #else 99 #else
103 base::MessageLoop::current()->PostTask( 100 base::MessageLoop::current()->PostTask(
104 FROM_HERE, 101 FROM_HERE,
105 base::Bind(&PepperMediaDeviceManager::OnDeviceOpenFailed, 102 base::Bind(&PepperMediaDeviceManager::OnDeviceOpenFailed,
106 AsWeakPtr(), 103 AsWeakPtr(),
107 request_id)); 104 request_id));
108 #endif 105 #endif
109 106
110 return request_id; 107 return request_id;
111 } 108 }
112 109
113 void PepperMediaDeviceManager::CancelOpenDevice(int request_id) { 110 void PepperMediaDeviceManager::CancelOpenDevice(int request_id) {
114 open_callbacks_.erase(request_id); 111 open_callbacks_.erase(request_id);
115 112
116 #if defined(ENABLE_WEBRTC) 113 #if defined(ENABLE_WEBRTC)
117 GetRenderViewImpl()->media_stream_dispatcher()->CancelOpenDevice( 114 GetRenderViewImpl()->media_stream_dispatcher()->CancelOpenDevice(request_id,
118 request_id, AsWeakPtr()); 115 AsWeakPtr());
119 #endif 116 #endif
120 } 117 }
121 118
122 void PepperMediaDeviceManager::CloseDevice(const std::string& label) { 119 void PepperMediaDeviceManager::CloseDevice(const std::string& label) {
123 #if defined(ENABLE_WEBRTC) 120 #if defined(ENABLE_WEBRTC)
124 GetRenderViewImpl()->media_stream_dispatcher()->CloseDevice(label); 121 GetRenderViewImpl()->media_stream_dispatcher()->CloseDevice(label);
125 #endif 122 #endif
126 } 123 }
127 124
128 int PepperMediaDeviceManager::GetSessionID(PP_DeviceType_Dev type, 125 int PepperMediaDeviceManager::GetSessionID(PP_DeviceType_Dev type,
(...skipping 12 matching lines...) Expand all
141 } 138 }
142 #else 139 #else
143 return 0; 140 return 0;
144 #endif 141 #endif
145 } 142 }
146 143
147 void PepperMediaDeviceManager::OnStreamGenerated( 144 void PepperMediaDeviceManager::OnStreamGenerated(
148 int request_id, 145 int request_id,
149 const std::string& label, 146 const std::string& label,
150 const StreamDeviceInfoArray& audio_device_array, 147 const StreamDeviceInfoArray& audio_device_array,
151 const StreamDeviceInfoArray& video_device_array) { 148 const StreamDeviceInfoArray& video_device_array) {}
152 }
153 149
154 void PepperMediaDeviceManager::OnStreamGenerationFailed( 150 void PepperMediaDeviceManager::OnStreamGenerationFailed(
155 int request_id, 151 int request_id,
156 content::MediaStreamRequestResult result) { 152 content::MediaStreamRequestResult result) {}
157 }
158 153
159 void PepperMediaDeviceManager::OnDeviceStopped( 154 void PepperMediaDeviceManager::OnDeviceStopped(
160 const std::string& label, 155 const std::string& label,
161 const StreamDeviceInfo& device_info) { 156 const StreamDeviceInfo& device_info) {}
162 }
163 157
164 void PepperMediaDeviceManager::OnDevicesEnumerated( 158 void PepperMediaDeviceManager::OnDevicesEnumerated(
165 int request_id, 159 int request_id,
166 const StreamDeviceInfoArray& device_array) { 160 const StreamDeviceInfoArray& device_array) {
167 EnumerateCallbackMap::iterator iter = enumerate_callbacks_.find(request_id); 161 EnumerateCallbackMap::iterator iter = enumerate_callbacks_.find(request_id);
168 if (iter == enumerate_callbacks_.end()) { 162 if (iter == enumerate_callbacks_.end()) {
169 // This might be enumerated result sent before StopEnumerateDevices is 163 // This might be enumerated result sent before StopEnumerateDevices is
170 // called since EnumerateDevices is persistent request. 164 // called since EnumerateDevices is persistent request.
171 return; 165 return;
172 } 166 }
173 167
174 EnumerateDevicesCallback callback = iter->second; 168 EnumerateDevicesCallback callback = iter->second;
175 169
176 std::vector<ppapi::DeviceRefData> devices; 170 std::vector<ppapi::DeviceRefData> devices;
177 devices.reserve(device_array.size()); 171 devices.reserve(device_array.size());
178 for (StreamDeviceInfoArray::const_iterator info = 172 for (StreamDeviceInfoArray::const_iterator info = device_array.begin();
179 device_array.begin(); info != device_array.end(); ++info) { 173 info != device_array.end();
174 ++info) {
180 devices.push_back(FromStreamDeviceInfo(*info)); 175 devices.push_back(FromStreamDeviceInfo(*info));
181 } 176 }
182 callback.Run(request_id, devices); 177 callback.Run(request_id, devices);
183 } 178 }
184 179
185 void PepperMediaDeviceManager::OnDeviceOpened( 180 void PepperMediaDeviceManager::OnDeviceOpened(
186 int request_id, 181 int request_id,
187 const std::string& label, 182 const std::string& label,
188 const StreamDeviceInfo& device_info) { 183 const StreamDeviceInfo& device_info) {
189 NotifyDeviceOpened(request_id, true, label); 184 NotifyDeviceOpened(request_id, true, label);
(...skipping 28 matching lines...) Expand all
218 case MEDIA_DEVICE_AUDIO_CAPTURE: 213 case MEDIA_DEVICE_AUDIO_CAPTURE:
219 return PP_DEVICETYPE_DEV_AUDIOCAPTURE; 214 return PP_DEVICETYPE_DEV_AUDIOCAPTURE;
220 case MEDIA_DEVICE_VIDEO_CAPTURE: 215 case MEDIA_DEVICE_VIDEO_CAPTURE:
221 return PP_DEVICETYPE_DEV_VIDEOCAPTURE; 216 return PP_DEVICETYPE_DEV_VIDEOCAPTURE;
222 default: 217 default:
223 NOTREACHED(); 218 NOTREACHED();
224 return PP_DEVICETYPE_DEV_INVALID; 219 return PP_DEVICETYPE_DEV_INVALID;
225 } 220 }
226 } 221 }
227 222
228 void PepperMediaDeviceManager::NotifyDeviceOpened( 223 void PepperMediaDeviceManager::NotifyDeviceOpened(int request_id,
229 int request_id, 224 bool succeeded,
230 bool succeeded, 225 const std::string& label) {
231 const std::string& label) {
232 OpenCallbackMap::iterator iter = open_callbacks_.find(request_id); 226 OpenCallbackMap::iterator iter = open_callbacks_.find(request_id);
233 if (iter == open_callbacks_.end()) { 227 if (iter == open_callbacks_.end()) {
234 // The callback may have been unregistered. 228 // The callback may have been unregistered.
235 return; 229 return;
236 } 230 }
237 231
238 OpenDeviceCallback callback = iter->second; 232 OpenDeviceCallback callback = iter->second;
239 open_callbacks_.erase(iter); 233 open_callbacks_.erase(iter);
240 234
241 callback.Run(request_id, succeeded, label); 235 callback.Run(request_id, succeeded, label);
242 } 236 }
243 237
244 RenderViewImpl* PepperMediaDeviceManager::GetRenderViewImpl() { 238 RenderViewImpl* PepperMediaDeviceManager::GetRenderViewImpl() {
245 return static_cast<RenderViewImpl*>(render_view()); 239 return static_cast<RenderViewImpl*>(render_view());
246 } 240 }
247 241
248 } // namespace content 242 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_media_device_manager.h ('k') | content/renderer/pepper/pepper_media_stream_audio_track_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698