| Index: content/browser/renderer_host/media/video_capture_manager.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc
|
| index be5738de38e27da91802d8e2a04467529ce4710b..4d4e5a79e707ae0a364da5ceb422dbf3fe33d1dc 100644
|
| --- a/content/browser/renderer_host/media/video_capture_manager.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_manager.cc
|
| @@ -38,16 +38,15 @@ struct VideoCaptureManager::Controller {
|
| Handlers handlers;
|
| };
|
|
|
| -VideoCaptureManager::VideoCaptureManager()
|
| - : vc_device_thread_("VideoCaptureManagerThread"),
|
| +VideoCaptureManager::VideoCaptureManager(
|
| + scoped_refptr<base::MessageLoopProxy> message_loop)
|
| + : message_loop_(message_loop),
|
| listener_(NULL),
|
| new_capture_session_id_(kFirstSessionId),
|
| use_fake_device_(false) {
|
| - vc_device_thread_.Start();
|
| }
|
|
|
| VideoCaptureManager::~VideoCaptureManager() {
|
| - vc_device_thread_.Stop();
|
| DCHECK(devices_.empty());
|
| DCHECK(controllers_.empty());
|
| }
|
| @@ -68,7 +67,7 @@ void VideoCaptureManager::EnumerateDevices() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| DCHECK(listener_);
|
|
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::OnEnumerateDevices, this));
|
| }
|
| @@ -80,7 +79,7 @@ int VideoCaptureManager::Open(const StreamDeviceInfo& device) {
|
| // Generate a new id for this device.
|
| int video_capture_session_id = new_capture_session_id_++;
|
|
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::OnOpen, this, video_capture_session_id,
|
| device));
|
| @@ -92,7 +91,7 @@ void VideoCaptureManager::Close(int capture_session_id) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| DCHECK(listener_);
|
|
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::OnClose, this, capture_session_id));
|
| }
|
| @@ -102,7 +101,7 @@ void VideoCaptureManager::Start(
|
| media::VideoCaptureDevice::EventHandler* video_capture_receiver) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
|
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::OnStart, this, capture_params,
|
| video_capture_receiver));
|
| @@ -113,7 +112,7 @@ void VideoCaptureManager::Stop(
|
| base::Closure stopped_cb) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
|
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::OnStop, this, capture_session_id,
|
| stopped_cb));
|
| @@ -128,10 +127,6 @@ void VideoCaptureManager::UseFakeDevice() {
|
| use_fake_device_ = true;
|
| }
|
|
|
| -MessageLoop* VideoCaptureManager::GetMessageLoop() {
|
| - return vc_device_thread_.message_loop();
|
| -}
|
| -
|
| void VideoCaptureManager::OnEnumerateDevices() {
|
| DCHECK(IsOnCaptureDeviceThread());
|
|
|
| @@ -360,7 +355,7 @@ void VideoCaptureManager::PostOnError(int capture_session_id,
|
| }
|
|
|
| bool VideoCaptureManager::IsOnCaptureDeviceThread() const {
|
| - return MessageLoop::current() == vc_device_thread_.message_loop();
|
| + return message_loop_->BelongsToCurrentThread();
|
| }
|
|
|
| void VideoCaptureManager::GetAvailableDevices(
|
| @@ -420,7 +415,7 @@ void VideoCaptureManager::AddController(
|
| VideoCaptureControllerEventHandler* handler,
|
| base::Callback<void(VideoCaptureController*)> added_cb) {
|
| DCHECK(handler);
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::DoAddControllerOnDeviceThread,
|
| this, capture_params, handler, added_cb));
|
| @@ -452,7 +447,7 @@ void VideoCaptureManager::RemoveController(
|
| VideoCaptureController* controller,
|
| VideoCaptureControllerEventHandler* handler) {
|
| DCHECK(handler);
|
| - vc_device_thread_.message_loop()->PostTask(
|
| + message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&VideoCaptureManager::DoRemoveControllerOnDeviceThread, this,
|
| make_scoped_refptr(controller), handler));
|
|
|