audio: Use hardcoded r_submix configuration with XML
There are several reasons why parsing the canonical XML
configuration for the remote submix module will not work
correctly (see the commend in the code).
Since de facto all vendors use the canonical configuration
XML for the remote submix, substitute parsing it with
a correct hardcoded version.
Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Iddebf9baa73e8dc90ada1c9b1783c513abb59420
diff --git a/audio/aidl/default/AudioPolicyConfigXmlConverter.cpp b/audio/aidl/default/AudioPolicyConfigXmlConverter.cpp
index 5d06cb6..2f1282a 100644
--- a/audio/aidl/default/AudioPolicyConfigXmlConverter.cpp
+++ b/audio/aidl/default/AudioPolicyConfigXmlConverter.cpp
@@ -184,9 +184,15 @@
// 'primary' in the XML schema used by HIDL is equivalent to 'default' module.
const std::string name =
xsdcModule.getName() != "primary" ? xsdcModule.getName() : "default";
- mModuleConfigurations->emplace_back(
- name, VALUE_OR_FATAL(convertModuleConfigToAidl(xsdcModule)));
+ if (name != "r_submix") {
+ mModuleConfigurations->emplace_back(
+ name, VALUE_OR_FATAL(convertModuleConfigToAidl(xsdcModule)));
+ } else {
+ // See the note on the 'getRSubmixConfiguration' function.
+ mModuleConfigurations->emplace_back(name, nullptr);
+ }
}
}
}
+
} // namespace aidl::android::hardware::audio::core::internal