Fix matching device address using audio attributes.
The previous code works only with an assumption there's single tag
present (implicitly added one with device address).
Test: atest AudioServiceHostTest AudioHostTest AudioPolicyHostTest
Test: atest audiosystem_tests audiopolicy_tests
Bug: 244713292
Change-Id: I9a7241521fd7d9246275d1e4d77f6c3b06301163
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 199a1d5..5977bfd 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -2504,7 +2504,7 @@
*inputType = API_INPUT_INVALID;
if (attributes.source == AUDIO_SOURCE_REMOTE_SUBMIX &&
- strncmp(attributes.tags, "addr=", strlen("addr=")) == 0) {
+ extractAddressFromAudioAttributes(attributes).has_value()) {
status = mPolicyMixes.getInputMixForAttr(attributes, &policyMix);
if (status != NO_ERROR) {
ALOGW("%s could not find input mix for attr %s",