audio: Bring default HAL configuration closer to cuttlefish
This is to simplify switching of cuttlefish to
the AIDL implementation. Split out 'r_submix' module.
Add all IModule instance names to the compatibility
matrix.
Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I424db14257281671eea87aa743deb778ca75f388
diff --git a/audio/aidl/default/main.cpp b/audio/aidl/default/main.cpp
index 48067a2..b11af4e 100644
--- a/audio/aidl/default/main.cpp
+++ b/audio/aidl/default/main.cpp
@@ -43,14 +43,21 @@
AServiceManager_addService(config->asBinder().get(), configName.c_str());
CHECK_EQ(STATUS_OK, status);
- // Make the default module
- auto moduleDefault = ndk::SharedRefBase::make<Module>();
+ // Make modules
+ auto moduleDefault = ndk::SharedRefBase::make<Module>(Module::Type::DEFAULT);
+ const std::string moduleDefaultName = std::string() + Module::descriptor + "/default";
AIBinder_setMinSchedulerPolicy(moduleDefault->asBinder().get(), SCHED_NORMAL,
ANDROID_PRIORITY_AUDIO);
- const std::string moduleDefaultName = std::string() + Module::descriptor + "/default";
status = AServiceManager_addService(moduleDefault->asBinder().get(), moduleDefaultName.c_str());
CHECK_EQ(STATUS_OK, status);
+ auto moduleRSubmix = ndk::SharedRefBase::make<Module>(Module::Type::R_SUBMIX);
+ const std::string moduleRSubmixName = std::string() + Module::descriptor + "/r_submix";
+ AIBinder_setMinSchedulerPolicy(moduleRSubmix->asBinder().get(), SCHED_NORMAL,
+ ANDROID_PRIORITY_AUDIO);
+ status = AServiceManager_addService(moduleRSubmix->asBinder().get(), moduleRSubmixName.c_str());
+ CHECK_EQ(STATUS_OK, status);
+
ABinderProcess_joinThreadPool();
return EXIT_FAILURE; // should not reach
}