Chromium Code Reviews| Index: content/browser/renderer_host/media/media_stream_manager.h | 
| diff --git a/content/browser/renderer_host/media/media_stream_manager.h b/content/browser/renderer_host/media/media_stream_manager.h | 
| index 7b583f3d925c93fb2262dfe584cde66183032842..32c1ba304aa19c817d2979fc3b973188e7c6b311 100644 | 
| --- a/content/browser/renderer_host/media/media_stream_manager.h | 
| +++ b/content/browser/renderer_host/media/media_stream_manager.h | 
| @@ -49,6 +49,7 @@ | 
| namespace media { | 
| class AudioSystem; | 
| +class VideoCaptureSystem; | 
| } | 
| namespace url { | 
| @@ -85,7 +86,18 @@ class CONTENT_EXPORT MediaStreamManager | 
| // logging from webrtcLoggingPrivate API. Safe to call from any thread. | 
| static void SendMessageToNativeLog(const std::string& message); | 
| - explicit MediaStreamManager(media::AudioSystem* audio_system); | 
| + static std::unique_ptr<MediaStreamManager> CreateWithDefaults( | 
| 
 
miu
2017/04/03 21:31:23
Perhaps include a comment about threading/task-run
 
chfremer
2017/04/04 21:59:32
I wouldn't know what to say here. As a reader, wha
 
 | 
| + media::AudioSystem* audio_system); | 
| + | 
| + static std::unique_ptr<MediaStreamManager> | 
| + CreateWithCustomVideoCaptureDeviceTaskRunner( | 
| 
 
miu
2017/04/03 21:31:23
Looks like nothing calls this. So, can we delete i
 
chfremer
2017/04/04 21:59:32
Done.
 
 | 
| + media::AudioSystem* audio_system, | 
| + scoped_refptr<base::SingleThreadTaskRunner> device_task_runner); | 
| + | 
| + static std::unique_ptr<MediaStreamManager> CreateWithCustomVideoCaptureSystem( | 
| + media::AudioSystem* audio_system, | 
| + std::unique_ptr<media::VideoCaptureSystem> video_capture_system, | 
| + scoped_refptr<base::SingleThreadTaskRunner> device_task_runner); | 
| ~MediaStreamManager() override; | 
| @@ -277,9 +289,14 @@ class CONTENT_EXPORT MediaStreamManager | 
| using LabeledDeviceRequest = std::pair<std::string, DeviceRequest*>; | 
| using DeviceRequests = std::list<LabeledDeviceRequest>; | 
| - // Initializes the device managers on IO thread. Auto-starts the device | 
| - // thread and registers this as a listener with the device managers. | 
| - void InitializeDeviceManagersOnIOThread(); | 
| + explicit MediaStreamManager(media::AudioSystem* audio_system); | 
| + void InitializeWithDefaults(); | 
| + void InitializeWithCustomVideoCaptureDeviceTaskRunner( | 
| + scoped_refptr<base::SingleThreadTaskRunner> device_task_runner); | 
| + void InitializeWithCustomVideoCaptureSystem( | 
| + std::unique_ptr<media::VideoCaptureSystem> video_capture_system, | 
| + scoped_refptr<base::SingleThreadTaskRunner> device_task_runner); | 
| + void PerformCommonInitializationRoutines(); | 
| // |output_parameters| contains real values only if the request requires it. | 
| void HandleAccessRequestResponse( |