Chromium Code Reviews| 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..7cc2c5384e9accd5148ca9edc4f75c09c9e996bb 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), |
|
scherkus (not reviewing)
2012/06/27 00:52:31
fix indent here
no longer working on chromium
2012/06/27 14:07:16
Done.
|
| 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)); |