diff options
author | jennyz <jennyz@chromium.org> | 2015-06-29 16:46:06 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-29 23:47:54 +0000 |
commit | c770dc778a8d2aedf0cc2f9a803a75db4211e4ac (patch) | |
tree | ddde1a02b2e44e89a3ced038abcdc43a06120075 /ash/system/win/audio | |
parent | 0a3e147218d4e6fc8ddff329f54b35283e1e164a (diff) | |
download | chromium_src-c770dc778a8d2aedf0cc2f9a803a75db4211e4ac.zip chromium_src-c770dc778a8d2aedf0cc2f9a803a75db4211e4ac.tar.gz chromium_src-c770dc778a8d2aedf0cc2f9a803a75db4211e4ac.tar.bz2 |
Work around for HDMI audio output rediscovering transistion loss.
When audio output is playing on HDMI device, each time user opens or closes the lid of the device, changes the resolution of the hdmi display, or the device resumes after suspension, there is a short period of time the audio will be played on internal speaker, then goes back to hdmi device., The root cause is due to the fact that cras will lose hdmi output audio device for a short period of time and rediscover it later during the transition period of these scenarios. The hot plug cause the internal speaker be selected as an alternative active output device during the transition period. For some platform, the transition period is quite long as several seconds and it is an annoying user experience.
I've made a workaround in CrasAudioHandler to mute the output during the hdmi rediscovering grace period, so that the audio will NOT be leaked.
BUG=503667
Review URL: https://codereview.chromium.org/1199413008
Cr-Commit-Position: refs/heads/master@{#336681}
Diffstat (limited to 'ash/system/win/audio')
-rw-r--r-- | ash/system/win/audio/tray_audio_delegate_win.cc | 4 | ||||
-rw-r--r-- | ash/system/win/audio/tray_audio_delegate_win.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/ash/system/win/audio/tray_audio_delegate_win.cc b/ash/system/win/audio/tray_audio_delegate_win.cc index 18e46af..2b6095a 100644 --- a/ash/system/win/audio/tray_audio_delegate_win.cc +++ b/ash/system/win/audio/tray_audio_delegate_win.cc @@ -96,6 +96,10 @@ void TrayAudioDelegateWin::SetInternalSpeakerChannelMode( AudioChannelMode mode) { } +void TrayAudioDelegateWin::SetActiveHDMIOutoutRediscoveringIfNecessary( + bool force_rediscovering) { +} + ScopedComPtr<ISimpleAudioVolume> TrayAudioDelegateWin::CreateDefaultVolumeControl() { ScopedComPtr<ISimpleAudioVolume> volume_control; diff --git a/ash/system/win/audio/tray_audio_delegate_win.h b/ash/system/win/audio/tray_audio_delegate_win.h index 9ab0208..ec23c9c 100644 --- a/ash/system/win/audio/tray_audio_delegate_win.h +++ b/ash/system/win/audio/tray_audio_delegate_win.h @@ -30,6 +30,8 @@ class ASH_EXPORT TrayAudioDelegateWin : public TrayAudioDelegate { void SetOutputAudioIsMuted(bool is_muted) override; void SetOutputVolumeLevel(int level) override; void SetInternalSpeakerChannelMode(AudioChannelMode mode) override; + void SetActiveHDMIOutoutRediscoveringIfNecessary( + bool force_rediscovering) override; private: base::win::ScopedComPtr<ISimpleAudioVolume> CreateDefaultVolumeControl(); |