summaryrefslogtreecommitdiffstats
path: root/ash/system/win/audio
diff options
context:
space:
mode:
authorjennyz <jennyz@chromium.org>2015-06-29 16:46:06 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-29 23:47:54 +0000
commitc770dc778a8d2aedf0cc2f9a803a75db4211e4ac (patch)
treeddde1a02b2e44e89a3ced038abcdc43a06120075 /ash/system/win/audio
parent0a3e147218d4e6fc8ddff329f54b35283e1e164a (diff)
downloadchromium_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.cc4
-rw-r--r--ash/system/win/audio/tray_audio_delegate_win.h2
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();