Index: content/browser/renderer_host/media/media_stream_manager.cc |
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc |
index 15e32c1eedf0f384517d0813349c17c20f8316bb..73fd390d7804b1b064b25c78c9759de5c689f515 100644 |
--- a/content/browser/renderer_host/media/media_stream_manager.cc |
+++ b/content/browser/renderer_host/media/media_stream_manager.cc |
@@ -421,15 +421,17 @@ MediaStreamManager::MediaStreamManager( |
CHECK(video_capture_thread_.Start()); |
device_task_runner = video_capture_thread_.task_runner(); |
#endif |
- video_capture_provider = base::MakeUnique<InProcessVideoCaptureProvider>( |
- base::MakeUnique<media::VideoCaptureSystemImpl>( |
- media::VideoCaptureDeviceFactory::CreateFactory( |
- BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))), |
- std::move(device_task_runner)); |
if (base::FeatureList::IsEnabled(video_capture::kMojoVideoCapture)) { |
video_capture_provider = base::MakeUnique<VideoCaptureProviderSwitcher>( |
base::MakeUnique<ServiceVideoCaptureProvider>(), |
- std::move(video_capture_provider)); |
+ InProcessVideoCaptureProvider::CreateInstanceForNonDeviceCapture( |
+ std::move(device_task_runner))); |
+ } else { |
+ video_capture_provider = InProcessVideoCaptureProvider::CreateInstance( |
+ base::MakeUnique<media::VideoCaptureSystemImpl>( |
+ media::VideoCaptureDeviceFactory::CreateFactory( |
+ BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))), |
+ std::move(device_task_runner)); |
} |
} |
InitializeMaybeAsync(std::move(video_capture_provider)); |