| Index: content/renderer/media/video_capture_impl_manager.cc
|
| diff --git a/content/renderer/media/video_capture_impl_manager.cc b/content/renderer/media/video_capture_impl_manager.cc
|
| deleted file mode 100644
|
| index b8611a6b8039066801e896d72c31490ef30195db..0000000000000000000000000000000000000000
|
| --- a/content/renderer/media/video_capture_impl_manager.cc
|
| +++ /dev/null
|
| @@ -1,118 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/renderer/media/video_capture_impl_manager.h"
|
| -
|
| -#include "base/memory/singleton.h"
|
| -#include "content/common/child_process.h"
|
| -#include "content/common/child_thread.h"
|
| -#include "content/common/video_capture_messages.h"
|
| -#include "content/common/view_messages.h"
|
| -#include "media/base/message_loop_factory_impl.h"
|
| -
|
| -namespace {
|
| -
|
| -// VideoCaptureMessageFilterCreator is to be used as a singleton so we can get
|
| -// access to a shared VideoCaptureMessageFilter.
|
| -// Example usage:
|
| -// VideoCaptureMessageFilter* filter =
|
| -// VideoCaptureMessageFilterCreator::SharedFilter();
|
| -
|
| -class VideoCaptureMessageFilterCreator {
|
| - public:
|
| - VideoCaptureMessageFilterCreator() {
|
| - int routing_id;
|
| - ChildThread::current()->Send(
|
| - new ViewHostMsg_GenerateRoutingID(&routing_id));
|
| - filter_ = new VideoCaptureMessageFilter(routing_id);
|
| - filter_->AddFilter();
|
| - }
|
| -
|
| - static VideoCaptureMessageFilter* SharedFilter() {
|
| - return GetInstance()->filter_.get();
|
| - }
|
| -
|
| - static VideoCaptureMessageFilterCreator* GetInstance() {
|
| - return Singleton<VideoCaptureMessageFilterCreator>::get();
|
| - }
|
| -
|
| - private:
|
| - scoped_refptr<VideoCaptureMessageFilter> filter_;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -VideoCaptureImplManager::VideoCaptureImplManager() {
|
| - ml_factory_.reset(new media::MessageLoopFactoryImpl());
|
| - ml_proxy_ = ml_factory_->GetMessageLoopProxy("VC manager");
|
| -}
|
| -
|
| -VideoCaptureImplManager::~VideoCaptureImplManager() {}
|
| -
|
| -// static
|
| -media::VideoCapture* VideoCaptureImplManager::AddDevice(
|
| - media::VideoCaptureSessionId id,
|
| - media::VideoCapture::EventHandler* handler) {
|
| - DCHECK(handler);
|
| - VideoCaptureImplManager* manager = GetInstance();
|
| -
|
| - base::AutoLock auto_lock(manager->lock_);
|
| - Devices::iterator it = manager->devices_.find(id);
|
| - if (it == manager->devices_.end()) {
|
| - VideoCaptureImpl* vc =
|
| - new VideoCaptureImpl(id, manager->ml_proxy_,
|
| - VideoCaptureMessageFilterCreator::SharedFilter());
|
| - manager->devices_[id] = Device(vc, handler);
|
| - vc->Init();
|
| - return vc;
|
| - }
|
| -
|
| - manager->devices_[id].clients.push_front(handler);
|
| - return it->second.vc;
|
| -}
|
| -
|
| -// static
|
| -void VideoCaptureImplManager::RemoveDevice(
|
| - media::VideoCaptureSessionId id,
|
| - media::VideoCapture::EventHandler* handler) {
|
| - DCHECK(handler);
|
| - VideoCaptureImplManager* manager = GetInstance();
|
| -
|
| - base::AutoLock auto_lock(manager->lock_);
|
| - Devices::iterator it = manager->devices_.find(id);
|
| - if (it == manager->devices_.end())
|
| - return;
|
| -
|
| - size_t size = it->second.clients.size();
|
| - it->second.clients.remove(handler);
|
| -
|
| - if (size == it->second.clients.size() || size > 1)
|
| - return;
|
| -
|
| - manager->devices_[id].vc->DeInit(NewRunnableMethod(manager,
|
| - &VideoCaptureImplManager::FreeDevice, manager->devices_[id].vc));
|
| - manager->devices_.erase(id);
|
| - return;
|
| -}
|
| -
|
| -// static
|
| -VideoCaptureImplManager* VideoCaptureImplManager::GetInstance() {
|
| - return Singleton<VideoCaptureImplManager>::get();
|
| -}
|
| -
|
| -void VideoCaptureImplManager::FreeDevice(VideoCaptureImpl* vc) {
|
| - delete vc;
|
| -}
|
| -
|
| -VideoCaptureImplManager::Device::Device() : vc(NULL) {}
|
| -
|
| -VideoCaptureImplManager::Device::Device(
|
| - VideoCaptureImpl* device,
|
| - media::VideoCapture::EventHandler* handler)
|
| - : vc(device) {
|
| - clients.push_front(handler);
|
| -}
|
| -
|
| -VideoCaptureImplManager::Device::~Device() {}
|
| -
|
|
|