summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/common
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2015-05-05 23:48:38 -0700
committerAndy Hung <hunga@google.com>2015-05-06 10:28:06 -0700
commit18aa27016a94d0fee243637a80fd0741f89e08f2 (patch)
tree35a0e32b3d526daba44572ff9516076ad43d4974 /services/audiopolicy/common
parentd1abb8f94d7ed749ee959655db1e07d26dad074d (diff)
downloadframeworks_av-18aa27016a94d0fee243637a80fd0741f89e08f2.zip
frameworks_av-18aa27016a94d0fee243637a80fd0741f89e08f2.tar.gz
frameworks_av-18aa27016a94d0fee243637a80fd0741f89e08f2.tar.bz2
Support channel index masks for output hal
Change-Id: Ib3e61ff6faf91c71b85102b5d77f90f124c08220
Diffstat (limited to 'services/audiopolicy/common')
-rw-r--r--services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp
index 64f883a..2e4d423 100644
--- a/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp
+++ b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp
@@ -272,6 +272,12 @@ void AudioPort::loadOutChannels(char *name)
(audio_channel_mask_t)ConfigParsingUtils::stringToEnum(sOutChannelsNameToEnumTable,
ARRAY_SIZE(sOutChannelsNameToEnumTable),
str);
+ if (channelMask == 0) { // if not found, check the channel index table
+ channelMask = (audio_channel_mask_t)
+ ConfigParsingUtils::stringToEnum(sIndexChannelsNameToEnumTable,
+ ARRAY_SIZE(sIndexChannelsNameToEnumTable),
+ str);
+ }
if (channelMask != 0) {
mChannelMasks.add(channelMask);
}