Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: content/browser/renderer_host/media/video_capture_controller.cc

Issue 7649016: Removing singleton property of MediaStreamManager and creating thread first when needed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reverted parts of previous upload. Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(&params_, 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.
}

Powered by Google App Engine
This is Rietveld 408576698