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

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

Issue 2696533002: Rmoving the notion of task runner from MediaStreamProvider interface. (Closed)
Patch Set: Created 3 years, 10 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/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 86ce133bd3a006ac231a1124d3dd16d6cf289576..1665fe38db98e14ddab21b1cbccaf3bfac91a20d 100644
--- a/content/browser/renderer_host/media/media_stream_manager.cc
+++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -1227,7 +1227,7 @@ void MediaStreamManager::InitializeDeviceManagersOnIOThread() {
FROM_HERE_WITH_EXPLICIT_FUNCTION(
"457525 MediaStreamManager::InitializeDeviceManagersOnIOThread 2"));
audio_input_device_manager_ = new AudioInputDeviceManager(audio_manager_);
- audio_input_device_manager_->Register(this, device_task_runner_);
+ audio_input_device_manager_->RegisterListener(this);
// TODO(dalecurtis): Remove ScopedTracker below once crbug.com/457525 is
// fixed.
@@ -1243,19 +1243,24 @@ void MediaStreamManager::InitializeDeviceManagersOnIOThread() {
tracked_objects::ScopedTracker tracking_profile4(
FROM_HERE_WITH_EXPLICIT_FUNCTION(
"457525 MediaStreamManager::InitializeDeviceManagersOnIOThread 4"));
- video_capture_manager_ =
- new VideoCaptureManager(media::VideoCaptureDeviceFactory::CreateFactory(
- BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)));
#if defined(OS_WIN)
// Use an STA Video Capture Thread to try to avoid crashes on enumeration of
// buggy third party Direct Show modules, http://crbug.com/428958.
video_capture_thread_.init_com_with_mta(false);
CHECK(video_capture_thread_.Start());
- video_capture_manager_->Register(this, video_capture_thread_.task_runner());
+ video_capture_manager_ = new VideoCaptureManager(
+ media::VideoCaptureDeviceFactory::CreateFactory(
+ BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)),
+ video_capture_thread_.task_runner());
#else
- video_capture_manager_->Register(this, device_task_runner_);
+ video_capture_manager_ = new VideoCaptureManager(
+ media::VideoCaptureDeviceFactory::CreateFactory(
+ BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)),
+ device_task_runner_);
#endif
+ video_capture_manager_->RegisterListener(this);
+
media_devices_manager_.reset(
new MediaDevicesManager(audio_manager_, video_capture_manager_, this));
}
@@ -1543,18 +1548,18 @@ void MediaStreamManager::WillDestroyCurrentMessageLoop() {
DVLOG(3) << "MediaStreamManager::WillDestroyCurrentMessageLoop()";
DCHECK(CalledOnIOThread());
DCHECK(requests_.empty());
- if (device_task_runner_.get()) {
+ if (media_devices_manager_)
media_devices_manager_->StopMonitoring();
+ if (video_capture_manager_)
+ video_capture_manager_->UnregisterListener();
+ if (audio_input_device_manager_)
+ audio_input_device_manager_->UnregisterListener();
- video_capture_manager_->Unregister();
- audio_input_device_manager_->Unregister();
- device_task_runner_ = NULL;
- }
-
- audio_input_device_manager_ = NULL;
- video_capture_manager_ = NULL;
- media_devices_manager_ = NULL;
- g_media_stream_manager_tls_ptr.Pointer()->Set(NULL);
+ device_task_runner_ = nullptr;
+ audio_input_device_manager_ = nullptr;
+ video_capture_manager_ = nullptr;
+ media_devices_manager_ = nullptr;
+ g_media_stream_manager_tls_ptr.Pointer()->Set(nullptr);
}
void MediaStreamManager::NotifyDevicesChanged(
@@ -1613,7 +1618,7 @@ MediaStreamProvider* MediaStreamManager::GetDeviceManager(
else if (IsAudioInputMediaType(stream_type))
return audio_input_device_manager();
NOTREACHED();
- return NULL;
+ return nullptr;
}
void MediaStreamManager::OnMediaStreamUIWindowId(MediaStreamType video_type,

Powered by Google App Engine
This is Rietveld 408576698