Chromium Code Reviews| 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 |