Fix explicit routing failed.
In AudioPolicyManager.getInputForAttr, we should get device descriptor
from available input devices, but not output devices. When using output
devices, the explicit routing will never work.
Bug: 72670086
Test: run cts
Change-Id: Ib37ffb70334afc6c7c8ddd7baf6439b146205d45
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 7343601..40e0199 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -1427,7 +1427,7 @@
// Explicit routing?
sp<DeviceDescriptor> deviceDesc;
if (*selectedDeviceId != AUDIO_PORT_HANDLE_NONE) {
- deviceDesc = mAvailableOutputDevices.getDeviceFromId(*selectedDeviceId);
+ deviceDesc = mAvailableInputDevices.getDeviceFromId(*selectedDeviceId);
}
mInputRoutes.addRoute(session, SessionRoute::STREAM_TYPE_NA, inputSource, deviceDesc, uid);