Index: content/browser/renderer_host/media/in_process_buildable_video_capture_device.cc |
diff --git a/content/browser/renderer_host/media/in_process_buildable_video_capture_device.cc b/content/browser/renderer_host/media/in_process_buildable_video_capture_device.cc |
index 903fa6a9d0c5d2d78a11a1a8046b4102f2dc486e..fa8f2a897ee8cb58b87333797e9d95197347246d 100644 |
--- a/content/browser/renderer_host/media/in_process_buildable_video_capture_device.cc |
+++ b/content/browser/renderer_host/media/in_process_buildable_video_capture_device.cc |
@@ -84,7 +84,7 @@ namespace content { |
InProcessBuildableVideoCaptureDevice::InProcessBuildableVideoCaptureDevice( |
scoped_refptr<base::SingleThreadTaskRunner> device_task_runner, |
- media::VideoCaptureDeviceFactory* device_factory) |
+ media::VideoCaptureSystem* device_factory) |
: device_task_runner_(std::move(device_task_runner)), |
device_factory_(device_factory) {} |
@@ -109,47 +109,24 @@ void InProcessBuildableVideoCaptureDevice::CreateAndStartDeviceAsync( |
CreateDeviceClient(max_buffers, controller->GetWeakPtrForIOThread()); |
base::Closure start_capture_closure; |
+ // Use of Unretained() is safe, because |context_reference| guarantees that |
+ // |this| stays alive. |
+ ReceiveDeviceCallback after_start_capture_callback = media::BindToCurrentLoop( |
+ base::Bind(&InProcessBuildableVideoCaptureDevice::OnDeviceStarted, |
+ base::Unretained(this), controller, callbacks, |
+ base::Passed(&done_cb))); |
+ |
switch (controller->stream_type()) { |
case MEDIA_DEVICE_VIDEO_CAPTURE: { |
- const media::VideoCaptureDeviceDescriptor* descriptor = |
- callbacks->LookupDeviceDescriptor(controller->device_id()); |
- if (descriptor) { |
- controller->OnLog( |
- base::StringPrintf("Starting device: id: %s, name: %s, api: %s", |
- descriptor->device_id.c_str(), |
- descriptor->GetNameAndModel().c_str(), |
- descriptor->GetCaptureApiTypeString())); |
- |
- callbacks->WillStartDevice(descriptor->facing); |
- |
- // Use of Unretained() is safe, because |context_reference| guarantees |
- // that |this| stays alive. |
- ReceiveDeviceCallback after_start_capture_callback = |
- media::BindToCurrentLoop(base::Bind( |
- &InProcessBuildableVideoCaptureDevice::OnDeviceStarted, |
- base::Unretained(this), controller, callbacks, |
- base::Passed(&done_cb))); |
- start_capture_closure = |
- base::Bind(&InProcessBuildableVideoCaptureDevice:: |
- DoStartDeviceCaptureOnDeviceThread, |
- base::Unretained(this), *descriptor, params, |
- base::Passed(std::move(device_client)), |
- std::move(after_start_capture_callback)); |
- } else { |
- callbacks->OnDeviceStartFailed(controller); |
- std::move(done_cb).Run(); |
- return; |
- } |
+ start_capture_closure = |
+ base::Bind(&InProcessBuildableVideoCaptureDevice:: |
+ DoStartDeviceCaptureOnDeviceThread, |
+ base::Unretained(this), controller->device_id(), params, |
+ base::Passed(std::move(device_client)), |
+ std::move(after_start_capture_callback)); |
break; |
} |
- case MEDIA_TAB_VIDEO_CAPTURE: { |
- // Use of Unretained() is safe, because |context_reference| guarantees |
- // that |this| stays alive. |
- ReceiveDeviceCallback after_start_capture_callback = |
- media::BindToCurrentLoop( |
- base::Bind(&InProcessBuildableVideoCaptureDevice::OnDeviceStarted, |
- base::Unretained(this), controller, callbacks, |
- base::Passed(&done_cb))); |
+ case MEDIA_TAB_VIDEO_CAPTURE: |
start_capture_closure = |
base::Bind(&InProcessBuildableVideoCaptureDevice:: |
DoStartTabCaptureOnDeviceThread, |
@@ -157,15 +134,8 @@ void InProcessBuildableVideoCaptureDevice::CreateAndStartDeviceAsync( |
base::Passed(std::move(device_client)), |
std::move(after_start_capture_callback)); |
break; |
- } |
- case MEDIA_DESKTOP_VIDEO_CAPTURE: { |
- // Use of Unretained() is safe, because |context_reference| guarantees |
- // that |this| stays alive. |
- ReceiveDeviceCallback after_start_capture_callback = |
- media::BindToCurrentLoop( |
- base::Bind(&InProcessBuildableVideoCaptureDevice::OnDeviceStarted, |
- base::Unretained(this), controller, callbacks, |
- base::Passed(&done_cb))); |
+ |
+ case MEDIA_DESKTOP_VIDEO_CAPTURE: |
start_capture_closure = |
base::Bind(&InProcessBuildableVideoCaptureDevice:: |
DoStartDesktopCaptureOnDeviceThread, |
@@ -173,7 +143,7 @@ void InProcessBuildableVideoCaptureDevice::CreateAndStartDeviceAsync( |
base::Passed(std::move(device_client)), |
std::move(after_start_capture_callback)); |
break; |
- } |
+ |
default: { |
NOTIMPLEMENTED(); |
return; |
@@ -328,7 +298,6 @@ void InProcessBuildableVideoCaptureDevice::OnDeviceStarted( |
if (!device) { |
state_ = State::NO_DEVICE; |
callbacks->OnDeviceStartFailed(controller); |
- std::move(done_cb).Run(); |
return; |
} |
// Passing raw pointer |device.get()| to the controller is safe, |
@@ -340,7 +309,7 @@ void InProcessBuildableVideoCaptureDevice::OnDeviceStarted( |
device.get(), device_task_runner_)); |
device_ = std::move(device); |
state_ = State::DEVICE_STARTED; |
- callbacks->DidStartDevice(controller); |
+ callbacks->OnDeviceStarted(controller); |
std::move(done_cb).Run(); |
return; |
case State::DEVICE_START_ABORTING: |
@@ -365,7 +334,7 @@ void InProcessBuildableVideoCaptureDevice::OnDeviceStarted( |
} |
void InProcessBuildableVideoCaptureDevice::DoStartDeviceCaptureOnDeviceThread( |
- const media::VideoCaptureDeviceDescriptor& descriptor, |
+ const std::string& device_id, |
const media::VideoCaptureParams& params, |
std::unique_ptr<media::VideoCaptureDeviceClient> device_client, |
ReceiveDeviceCallback result_callback) { |
@@ -373,7 +342,7 @@ void InProcessBuildableVideoCaptureDevice::DoStartDeviceCaptureOnDeviceThread( |
DCHECK(device_task_runner_->BelongsToCurrentThread()); |
std::unique_ptr<media::VideoCaptureDevice> video_capture_device = |
- device_factory_->CreateDevice(descriptor); |
+ device_factory_->CreateDevice(device_id); |
if (!video_capture_device) { |
result_callback.Run(nullptr); |