OLD | NEW |
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 "content/browser/browser_main_loop.h" | 9 #include "content/browser/browser_main_loop.h" |
10 #include "content/browser/renderer_host/media/media_stream_manager.h" | 10 #include "content/browser/renderer_host/media/media_stream_manager.h" |
11 #include "content/browser/renderer_host/media/video_capture_manager.h" | 11 #include "content/browser/renderer_host/media/video_capture_manager.h" |
12 #include "content/common/media/video_capture_messages.h" | 12 #include "content/common/media/video_capture_messages.h" |
13 | 13 |
14 namespace content { | 14 namespace content { |
| 15 namespace { |
| 16 const uint32 kFilteredMessageClasses[] = { |
| 17 VideoCaptureMsgStart |
| 18 }; |
| 19 } // namespace |
15 | 20 |
16 VideoCaptureHost::VideoCaptureHost(MediaStreamManager* media_stream_manager) | 21 VideoCaptureHost::VideoCaptureHost(MediaStreamManager* media_stream_manager) |
17 : media_stream_manager_(media_stream_manager) { | 22 : BrowserMessageFilter( |
| 23 kFilteredMessageClasses, arraysize(kFilteredMessageClasses)), |
| 24 media_stream_manager_(media_stream_manager) { |
18 } | 25 } |
19 | 26 |
20 VideoCaptureHost::~VideoCaptureHost() {} | 27 VideoCaptureHost::~VideoCaptureHost() {} |
21 | 28 |
22 void VideoCaptureHost::OnChannelClosing() { | 29 void VideoCaptureHost::OnChannelClosing() { |
23 // Since the IPC channel is gone, close all requested VideoCaptureDevices. | 30 // Since the IPC channel is gone, close all requested VideoCaptureDevices. |
24 for (EntryMap::iterator it = entries_.begin(); it != entries_.end(); ) { | 31 for (EntryMap::iterator it = entries_.begin(); it != entries_.end(); ) { |
25 const base::WeakPtr<VideoCaptureController>& controller = it->second; | 32 const base::WeakPtr<VideoCaptureController>& controller = it->second; |
26 if (controller) { | 33 if (controller) { |
27 VideoCaptureControllerID controller_id(it->first); | 34 VideoCaptureControllerID controller_id(it->first); |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 return; | 319 return; |
313 | 320 |
314 if (it->second) { | 321 if (it->second) { |
315 media_stream_manager_->video_capture_manager()->StopCaptureForClient( | 322 media_stream_manager_->video_capture_manager()->StopCaptureForClient( |
316 it->second.get(), controller_id, this); | 323 it->second.get(), controller_id, this); |
317 } | 324 } |
318 entries_.erase(it); | 325 entries_.erase(it); |
319 } | 326 } |
320 | 327 |
321 } // namespace content | 328 } // namespace content |
OLD | NEW |