Chromium Code Reviews| Index: content/browser/renderer_host/media/video_capture_controller.cc |
| diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc |
| index e1d5d28014181cebe5d9a0f60cc1e3b3ecc30865..87d29819a717eb4fc6219e742721eb47366277d8 100644 |
| --- a/content/browser/renderer_host/media/video_capture_controller.cc |
| +++ b/content/browser/renderer_host/media/video_capture_controller.cc |
| @@ -8,6 +8,7 @@ |
| #include "content/browser/browser_thread.h" |
| #include "content/browser/renderer_host/media/media_stream_manager.h" |
| #include "content/browser/renderer_host/media/video_capture_manager.h" |
| +#include "content/browser/resource_context.h" |
| #include "media/base/yuv_convert.h" |
| // The number of TransportDIBs VideoCaptureController allocate. |
| @@ -16,11 +17,13 @@ static const size_t kNoOfDIBS = 3; |
| VideoCaptureController::VideoCaptureController( |
| const VideoCaptureControllerID& id, |
| base::ProcessHandle render_process, |
| - VideoCaptureControllerEventHandler* event_handler) |
| + VideoCaptureControllerEventHandler* event_handler, |
| + const content::ResourceContext* resource_context) |
| : render_handle_(render_process), |
| report_ready_to_delete_(false), |
| event_handler_(event_handler), |
| - id_(id) { |
| + id_(id), |
| + resource_context_(resource_context) { |
| memset(¶ms_, 0, sizeof(params_)); |
| } |
| @@ -35,21 +38,19 @@ void VideoCaptureController::StartCapture( |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| params_ = params; |
| - media_stream::VideoCaptureManager* manager = |
| - media_stream::MediaStreamManager::Get()->video_capture_manager(); |
| // Order the manager to start the actual capture. |
| - manager->Start(params, this); |
| + resource_context_->media_stream_manager()->video_capture_manager()-> |
| + Start(params, this); |
| } |
| void VideoCaptureController::StopCapture(Task* stopped_task) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| - media_stream::VideoCaptureManager* manager = |
| - media_stream::MediaStreamManager::Get()->video_capture_manager(); |
| - manager->Stop(params_.session_id, |
| - NewRunnableMethod(this, |
| - &VideoCaptureController::OnDeviceStopped, |
| - stopped_task)); |
| + resource_context_->media_stream_manager()->video_capture_manager()-> |
| + Stop(params_.session_id, |
| + NewRunnableMethod(this, |
| + &VideoCaptureController::OnDeviceStopped, |
| + stopped_task)); |
| } |
| void VideoCaptureController::ReturnBuffer(int buffer_id) { |
| @@ -157,7 +158,7 @@ void VideoCaptureController::OnIncomingCapturedFrame(const uint8* data, |
| void VideoCaptureController::OnError() { |
| event_handler_->OnError(id_); |
| - media_stream::MediaStreamManager::Get()->video_capture_manager()-> |
| + resource_context_->media_stream_manager()->video_capture_manager()-> |
| Error(params_.session_id); |
|
wjia(left Chromium)
2011/08/19 18:09:54
resource_context_ can be accessed only on IO threa
mflodman_chromium_OOO
2011/08/21 19:15:24
Done.
|
| } |