diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/audiopolicy/managerdefault/AudioPolicyManager.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp index 7530dcc..fc27789 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp @@ -2854,8 +2854,12 @@ AudioPolicyManager::AudioPolicyManager(AudioPolicyClientInterface *clientInterfa ssize_t index = mAvailableInputDevices.indexOf(inProfile->mSupportedDevices[k]); // give a valid ID to an attached device once confirmed it is reachable - if (index >= 0 && !mAvailableInputDevices[index]->isAttached()) { - mAvailableInputDevices[index]->attach(mHwModules[i]); + if (index >= 0) { + sp<DeviceDescriptor> devDesc = mAvailableInputDevices[index]; + if (!devDesc->isAttached()) { + devDesc->attach(mHwModules[i]); + devDesc->importAudioPort(inProfile); + } } } mpClientInterface->closeInput(input); |