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

Side by Side Diff: content/browser/renderer_host/media/video_capture_host.cc

Issue 11339014: Move content\browser\renderer_host\media to content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 1 month 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/browser/renderer_host/media/video_capture_host.h" 5 #include "content/browser/renderer_host/media/video_capture_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "content/browser/browser_main_loop.h" 10 #include "content/browser/browser_main_loop.h"
11 #include "content/browser/renderer_host/media/media_stream_manager.h" 11 #include "content/browser/renderer_host/media/media_stream_manager.h"
12 #include "content/browser/renderer_host/media/video_capture_manager.h" 12 #include "content/browser/renderer_host/media/video_capture_manager.h"
13 #include "content/common/media/video_capture_messages.h" 13 #include "content/common/media/video_capture_messages.h"
14 14
15 using content::BrowserMainLoop; 15 namespace content {
16 using content::BrowserMessageFilter;
17 using content::BrowserThread;
18 16
19 struct VideoCaptureHost::Entry { 17 struct VideoCaptureHost::Entry {
20 Entry(VideoCaptureController* controller) 18 Entry(VideoCaptureController* controller)
21 : controller(controller) {} 19 : controller(controller) {}
22 20
23 ~Entry() {} 21 ~Entry() {}
24 22
25 scoped_refptr<VideoCaptureController> controller; 23 scoped_refptr<VideoCaptureController> controller;
26 }; 24 };
27 25
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 121 }
124 122
125 void VideoCaptureHost::DoHandleErrorOnIOThread( 123 void VideoCaptureHost::DoHandleErrorOnIOThread(
126 const VideoCaptureControllerID& controller_id) { 124 const VideoCaptureControllerID& controller_id) {
127 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 125 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
128 126
129 if (entries_.find(controller_id) == entries_.end()) 127 if (entries_.find(controller_id) == entries_.end())
130 return; 128 return;
131 129
132 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id, 130 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id,
133 video_capture::kError)); 131 VIDEO_CAPTURE_STATE_ERROR));
134 DeleteVideoCaptureControllerOnIOThread(controller_id); 132 DeleteVideoCaptureControllerOnIOThread(controller_id);
135 } 133 }
136 134
137 void VideoCaptureHost::DoPausedOnIOThread( 135 void VideoCaptureHost::DoPausedOnIOThread(
138 const VideoCaptureControllerID& controller_id) { 136 const VideoCaptureControllerID& controller_id) {
139 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 137 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
140 138
141 if (entries_.find(controller_id) == entries_.end()) 139 if (entries_.find(controller_id) == entries_.end())
142 return; 140 return;
143 141
144 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id, 142 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id,
145 video_capture::kPaused)); 143 VIDEO_CAPTURE_STATE_PAUSED));
146 DeleteVideoCaptureControllerOnIOThread(controller_id); 144 DeleteVideoCaptureControllerOnIOThread(controller_id);
147 } 145 }
148 146
149 void VideoCaptureHost::DoSendFrameInfoOnIOThread( 147 void VideoCaptureHost::DoSendFrameInfoOnIOThread(
150 const VideoCaptureControllerID& controller_id, 148 const VideoCaptureControllerID& controller_id,
151 int width, int height, int frame_per_second) { 149 int width, int height, int frame_per_second) {
152 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 150 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
153 151
154 if (entries_.find(controller_id) == entries_.end()) 152 if (entries_.find(controller_id) == entries_.end())
155 return; 153 return;
156 154
157 media::VideoCaptureParams params; 155 media::VideoCaptureParams params;
158 params.width = width; 156 params.width = width;
159 params.height = height; 157 params.height = height;
160 params.frame_per_second = frame_per_second; 158 params.frame_per_second = frame_per_second;
161 Send(new VideoCaptureMsg_DeviceInfo(controller_id.device_id, params)); 159 Send(new VideoCaptureMsg_DeviceInfo(controller_id.device_id, params));
162 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id, 160 Send(new VideoCaptureMsg_StateChanged(controller_id.device_id,
163 video_capture::kStarted)); 161 VIDEO_CAPTURE_STATE_STARTED));
164 } 162 }
165 163
166 /////////////////////////////////////////////////////////////////////////////// 164 ///////////////////////////////////////////////////////////////////////////////
167 // IPC Messages handler. 165 // IPC Messages handler.
168 bool VideoCaptureHost::OnMessageReceived(const IPC::Message& message, 166 bool VideoCaptureHost::OnMessageReceived(const IPC::Message& message,
169 bool* message_was_ok) { 167 bool* message_was_ok) {
170 bool handled = true; 168 bool handled = true;
171 IPC_BEGIN_MESSAGE_MAP_EX(VideoCaptureHost, message, *message_was_ok) 169 IPC_BEGIN_MESSAGE_MAP_EX(VideoCaptureHost, message, *message_was_ok)
172 IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Start, OnStartCapture) 170 IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Start, OnStartCapture)
173 IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Pause, OnPauseCapture) 171 IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Pause, OnPauseCapture)
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 VideoCaptureControllerID controller_id(device_id); 211 VideoCaptureControllerID controller_id(device_id);
214 EntryMap::iterator it = entries_.find(controller_id); 212 EntryMap::iterator it = entries_.find(controller_id);
215 if (it == entries_.end()) { 213 if (it == entries_.end()) {
216 if (controller) 214 if (controller)
217 GetVideoCaptureManager()->RemoveController(controller, this); 215 GetVideoCaptureManager()->RemoveController(controller, this);
218 return; 216 return;
219 } 217 }
220 218
221 if (controller == NULL) { 219 if (controller == NULL) {
222 Send(new VideoCaptureMsg_StateChanged(device_id, 220 Send(new VideoCaptureMsg_StateChanged(device_id,
223 video_capture::kError)); 221 VIDEO_CAPTURE_STATE_ERROR));
224 delete it->second; 222 delete it->second;
225 entries_.erase(controller_id); 223 entries_.erase(controller_id);
226 return; 224 return;
227 } 225 }
228 226
229 it->second->controller = controller; 227 it->second->controller = controller;
230 controller->StartCapture(controller_id, this, peer_handle(), params); 228 controller->StartCapture(controller_id, this, peer_handle(), params);
231 } 229 }
232 230
233 void VideoCaptureHost::OnStopCapture(int device_id) { 231 void VideoCaptureHost::OnStopCapture(int device_id) {
234 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 232 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
235 DVLOG(1) << "VideoCaptureHost::OnStopCapture, device_id " << device_id; 233 DVLOG(1) << "VideoCaptureHost::OnStopCapture, device_id " << device_id;
236 234
237 VideoCaptureControllerID controller_id(device_id); 235 VideoCaptureControllerID controller_id(device_id);
238 236
239 Send(new VideoCaptureMsg_StateChanged(device_id, 237 Send(new VideoCaptureMsg_StateChanged(device_id,
240 video_capture::kStopped)); 238 VIDEO_CAPTURE_STATE_STOPPED));
241 DeleteVideoCaptureControllerOnIOThread(controller_id); 239 DeleteVideoCaptureControllerOnIOThread(controller_id);
242 } 240 }
243 241
244 void VideoCaptureHost::OnPauseCapture(int device_id) { 242 void VideoCaptureHost::OnPauseCapture(int device_id) {
245 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 243 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
246 // Not used. 244 // Not used.
247 Send(new VideoCaptureMsg_StateChanged(device_id, 245 Send(new VideoCaptureMsg_StateChanged(device_id, VIDEO_CAPTURE_STATE_ERROR));
248 video_capture::kError));
249 } 246 }
250 247
251 void VideoCaptureHost::OnReceiveEmptyBuffer(int device_id, int buffer_id) { 248 void VideoCaptureHost::OnReceiveEmptyBuffer(int device_id, int buffer_id) {
252 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 249 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
253 250
254 VideoCaptureControllerID controller_id(device_id); 251 VideoCaptureControllerID controller_id(device_id);
255 EntryMap::iterator it = entries_.find(controller_id); 252 EntryMap::iterator it = entries_.find(controller_id);
256 if (it != entries_.end()) { 253 if (it != entries_.end()) {
257 scoped_refptr<VideoCaptureController> controller = it->second->controller; 254 scoped_refptr<VideoCaptureController> controller = it->second->controller;
258 if (controller) 255 if (controller)
(...skipping 11 matching lines...) Expand all
270 267
271 VideoCaptureController* controller = it->second->controller; 268 VideoCaptureController* controller = it->second->controller;
272 if (controller) { 269 if (controller) {
273 controller->StopCapture(controller_id, this); 270 controller->StopCapture(controller_id, this);
274 GetVideoCaptureManager()->RemoveController(controller, this); 271 GetVideoCaptureManager()->RemoveController(controller, this);
275 } 272 }
276 delete it->second; 273 delete it->second;
277 entries_.erase(controller_id); 274 entries_.erase(controller_id);
278 } 275 }
279 276
280 media_stream::VideoCaptureManager* VideoCaptureHost::GetVideoCaptureManager() { 277 VideoCaptureManager* VideoCaptureHost::GetVideoCaptureManager() {
281 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 278 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
282 return BrowserMainLoop::GetMediaStreamManager()->video_capture_manager(); 279 return BrowserMainLoop::GetMediaStreamManager()->video_capture_manager();
283 } 280 }
281
282 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698