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 4080cbef29d0bfed1cf9f9e48a593639d4e47bb2..59c5fa5e191eb3b5757fc8fe9ffdb6fc62f33120 100644 |
--- a/content/browser/renderer_host/media/media_stream_manager.cc |
+++ b/content/browser/renderer_host/media/media_stream_manager.cc |
@@ -358,12 +358,18 @@ MediaStreamManager::EnumerationCache::~EnumerationCache() { |
MediaStreamManager::MediaStreamManager() |
: audio_manager_(NULL), |
monitoring_started_(false), |
+#if defined(OS_CHROMEOS) |
+ has_checked_keyboard_mic_(false), |
+#endif |
io_loop_(NULL), |
use_fake_ui_(false) {} |
MediaStreamManager::MediaStreamManager(media::AudioManager* audio_manager) |
: audio_manager_(audio_manager), |
monitoring_started_(false), |
+#if defined(OS_CHROMEOS) |
+ has_checked_keyboard_mic_(false), |
+#endif |
io_loop_(NULL), |
use_fake_ui_(false) { |
DCHECK(audio_manager_); |
@@ -1072,6 +1078,16 @@ void MediaStreamManager::StartEnumeration(DeviceRequest* request) { |
// Start monitoring the devices when doing the first enumeration. |
StartMonitoring(); |
+#if defined(OS_CHROMEOS) |
+ if (!has_checked_keyboard_mic_) { |
+ has_checked_keyboard_mic_ = true; |
+ BrowserThread::PostTask( |
+ BrowserThread::UI, FROM_HERE, |
+ base::Bind(&MediaStreamManager::CheckKeyboardMicOnUIThread, |
+ base::Unretained(this))); |
+ } |
+#endif |
+ |
// Start enumeration for devices of all requested device types. |
const MediaStreamType streams[] = { request->audio_type(), |
request->video_type() }; |
@@ -2077,4 +2093,13 @@ void MediaStreamManager::OnMediaStreamUIWindowId(MediaStreamType video_type, |
} |
} |
+#if defined(OS_CHROMEOS) |
+void MediaStreamManager::CheckKeyboardMicOnUIThread() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ if (CrasAudioHandler::Get()->HasKeyboardMic()) { |
+ audio_manager_->SetHasKeyboardMic(); |
Henrik Grunell
2014/09/20 15:46:43
Hmm, I guess the audio manager should be accessed
tommi (sloooow) - chröme
2014/09/20 16:00:52
Looks like |audio_manager_| is already being used
|
+ } |
+} |
+#endif |
+ |
} // namespace content |