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

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

Issue 1097553003: Switch to STA mode for audio thread and WASAPI I/O streams. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments. Created 5 years, 8 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 1ae9fe52e5ea6f0a60f057bc4fc73f9d9895e26c..6ac92add17bbd0d44ea0501a5ea157e6a5af82ee 100644
--- a/content/browser/renderer_host/media/media_stream_manager.cc
+++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -41,10 +41,6 @@
#include "media/video/capture/video_capture_device_factory.h"
#include "url/gurl.h"
-#if defined(OS_WIN)
-#include "base/win/scoped_com_initializer.h"
-#endif
-
#if defined(OS_CHROMEOS)
#include "chromeos/audio/cras_audio_handler.h"
#endif
@@ -387,9 +383,6 @@ MediaStreamManager::EnumerationCache::~EnumerationCache() {
MediaStreamManager::MediaStreamManager()
: audio_manager_(NULL),
-#if defined(OS_WIN)
- video_capture_thread_("VideoCaptureThread"),
-#endif
monitoring_started_(false),
#if defined(OS_CHROMEOS)
has_checked_keyboard_mic_(false),
@@ -399,9 +392,6 @@ MediaStreamManager::MediaStreamManager()
MediaStreamManager::MediaStreamManager(media::AudioManager* audio_manager)
: audio_manager_(audio_manager),
-#if defined(OS_WIN)
- video_capture_thread_("VideoCaptureThread"),
-#endif
monitoring_started_(false),
#if defined(OS_CHROMEOS)
has_checked_keyboard_mic_(false),
@@ -1632,6 +1622,8 @@ void MediaStreamManager::InitializeDeviceManagersOnIOThread() {
if (device_task_runner_.get())
return;
+ // On Windows this must be a COM STA thread to avoid crashes on enumeration of
+ // buggy third party Direct Show modules, http://crbug.com/428958.
device_task_runner_ = audio_manager_->GetWorkerTaskRunner();
// TODO(dalecurtis): Remove ScopedTracker below once crbug.com/457525 is
@@ -1665,16 +1657,7 @@ void MediaStreamManager::InitializeDeviceManagersOnIOThread() {
video_capture_manager_ =
new VideoCaptureManager(media::VideoCaptureDeviceFactory::CreateFactory(
BrowserThread::GetMessageLoopProxyForThread(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_.message_loop_proxy());
-#else
video_capture_manager_->Register(this, device_task_runner_);
-#endif
}
void MediaStreamManager::Opened(MediaStreamType stream_type,

Powered by Google App Engine
This is Rietveld 408576698