From 58bf1d91654b47cc08a22cd63d0c5681539dc5b3 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Sun, 9 Jan 2011 15:33:01 -0800 Subject: [PATCH] Fix issue 3317627. The fix consists in selecting the digital audio device (SPDIF/HDMI) when available if the routing strategy is STRATEGY_PHONE. Change-Id: Ie500ae92f5c01f2511988543852ba559c6e5994b --- services/audioflinger/AudioPolicyManagerBase.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/audioflinger/AudioPolicyManagerBase.cpp b/services/audioflinger/AudioPolicyManagerBase.cpp index 855af9f3a8a3d..eeca7abca79d7 100644 --- a/services/audioflinger/AudioPolicyManagerBase.cpp +++ b/services/audioflinger/AudioPolicyManagerBase.cpp @@ -1587,6 +1587,10 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, if (device) break; device = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET; if (device) break; + 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_ANLG_DOCK_HEADSET; if (device) break; #ifdef WITH_A2DP @@ -1605,6 +1609,10 @@ uint32_t AudioPolicyManagerBase::getDeviceForStrategy(routing_strategy strategy, break; case AudioSystem::FORCE_SPEAKER: + 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_ANLG_DOCK_HEADSET; if (device) break; #ifdef WITH_A2DP