Index: media/audio/win/core_audio_util_win.cc |
diff --git a/media/audio/win/core_audio_util_win.cc b/media/audio/win/core_audio_util_win.cc |
index b56d6e6a6e13f9ef749ec4ac57c5e5111c102164..5c6bc7426da8b177a285ffce6b93bcac7ac5911e 100644 |
--- a/media/audio/win/core_audio_util_win.cc |
+++ b/media/audio/win/core_audio_util_win.cc |
@@ -170,6 +170,17 @@ bool CoreAudioUtil::IsSupported() { |
if (base::win::GetVersion() < base::win::VERSION_VISTA) |
return false; |
+ // Don't use CoreAudio when a remote desktop session is present; several users |
+ // report only WaveAudio working for them and crash reports show hangs when |
+ // calling into the OS for CoreAudio API calls. See http://crbug.com/422522 |
+ // and http://crbug.com/180591. |
+ // |
+ // Note: It's possible that a user will connect a remote desktop session after |
+ // this check has been done. In practice this shouldn't be the dominant case |
+ // though and CoreAudio does work for many users. |
+ if (GetSystemMetrics(SM_REMOTESESSION)) |
henrika (OOO until Aug 14)
2015/04/05 14:41:08
This is the only detection method I could find as
|
+ return false; |
+ |
// The audio core APIs are implemented in the Mmdevapi.dll and Audioses.dll |
// system components. |
// Dependency Walker shows that it is enough to verify possibility to load |