summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorJungshik Jang <jayjang@google.com>2014-09-06 02:58:39 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-06 02:58:40 +0000
commitcb16968f593e4d58857c693c8ec6f2d2337f5512 (patch)
tree7f0b246c9fc3ff951fa4943e4d586ff628c0f384 /services
parentea477effb909089401f6d1ec40fd495757d75021 (diff)
parenta1f9917243caafd1da5fa743c6fda1d0614ed167 (diff)
downloadframeworks_av-cb16968f593e4d58857c693c8ec6f2d2337f5512.zip
frameworks_av-cb16968f593e4d58857c693c8ec6f2d2337f5512.tar.gz
frameworks_av-cb16968f593e4d58857c693c8ec6f2d2337f5512.tar.bz2
Merge "Fix "invalid device combination" in system audio mode." into lmp-dev
Diffstat (limited to 'services')
-rw-r--r--services/audiopolicy/AudioPolicyManager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp
index a805923..084c853 100644
--- a/services/audiopolicy/AudioPolicyManager.cpp
+++ b/services/audiopolicy/AudioPolicyManager.cpp
@@ -4634,8 +4634,15 @@ audio_devices_t AudioPolicyManager::getDeviceForVolume(audio_devices_t device)
// - one A2DP device + another device: happens with duplicated output. In this case
// retain the device on the A2DP output as the other must not correspond to an active
// selection if not the speaker.
+ // - HDMI-CEC system audio mode only output: give priority to available item in order.
if (device & AUDIO_DEVICE_OUT_SPEAKER) {
device = AUDIO_DEVICE_OUT_SPEAKER;
+ } else if (device & AUDIO_DEVICE_OUT_HDMI_ARC) {
+ device = AUDIO_DEVICE_OUT_HDMI_ARC;
+ } else if (device & AUDIO_DEVICE_OUT_AUX_LINE) {
+ device = AUDIO_DEVICE_OUT_AUX_LINE;
+ } else if (device & AUDIO_DEVICE_OUT_SPDIF) {
+ device = AUDIO_DEVICE_OUT_SPDIF;
} else {
device = (audio_devices_t)(device & AUDIO_DEVICE_OUT_ALL_A2DP);
}