diff options
author | Eric Laurent <elaurent@google.com> | 2011-09-09 16:04:01 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2011-09-12 12:40:35 -0700 |
commit | 55ac23bc116ad9ae38266a5e660fd22f5104348e (patch) | |
tree | a35e314e627c820268eb1cfb2e77abb21a13269e /audio | |
parent | 67ba2276b9a5232685e14d416fea0b1250515594 (diff) | |
download | hardware_libhardware_legacy-55ac23bc116ad9ae38266a5e660fd22f5104348e.zip hardware_libhardware_legacy-55ac23bc116ad9ae38266a5e660fd22f5104348e.tar.gz hardware_libhardware_legacy-55ac23bc116ad9ae38266a5e660fd22f5104348e.tar.bz2 |
audio policy manager: invert SPDIF/HDMI priority
Route media audio in priority to S/PDIF output when available
even if HDMI is connected. This allows users to chose to output audio
to a different system than the display.
Also force media volume to max when playing over S/PDIF.
Change-Id: I03b82a7235cb60f2b5d6cf7923570554b07ac400
Diffstat (limited to 'audio')
-rw-r--r-- | audio/AudioPolicyManagerBase.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp index b7b4e27..f270d54 100644 --- a/audio/AudioPolicyManagerBase.cpp +++ b/audio/AudioPolicyManagerBase.cpp @@ -1663,10 +1663,10 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, if (device) break; } #endif - device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; - if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_DGTL_DOCK_HEADSET; if (device) break; + device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; + if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_ANLG_DOCK_HEADSET; if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_EARPIECE; @@ -1684,10 +1684,10 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, if (device) break; } #endif - device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; - if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_DGTL_DOCK_HEADSET; if (device) break; + device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; + if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_ANLG_DOCK_HEADSET; if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER; @@ -1733,10 +1733,10 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, } #endif if (device2 == 0) { - device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; + device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_DGTL_DOCK_HEADSET; } if (device2 == 0) { - device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_DGTL_DOCK_HEADSET; + device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL; } if (device2 == 0) { device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_ANLG_DOCK_HEADSET; @@ -1945,7 +1945,8 @@ float AudioPolicyManagerBase::computeVolume(int stream, int index, audio_io_hand // if volume is not 0 (not muted), force media volume to max on digital output if (stream == AudioSystem::MUSIC && index != mStreams[stream].mIndexMin && - device == AudioSystem::DEVICE_OUT_AUX_DIGITAL) { + (device == AudioSystem::DEVICE_OUT_AUX_DIGITAL || + device == AudioSystem::DEVICE_OUT_DGTL_DOCK_HEADSET)) { return 1.0; } |