Loading services/audiopolicy/managerdefault/AudioPolicyManager.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -1641,7 +1641,14 @@ status_t AudioPolicyManager::startSource(const sp<SwAudioOutputDescriptor>& outp outputDesc->setClientActive(client, true); if (client->hasPreferredDevice(true)) { if (outputDesc->clientsList(true /*activeOnly*/).size() == 1 && client->isPreferredDeviceForExclusiveUse()) { // Preferred device may be exclusive, use only if no other active clients on this output devices = DeviceVector( mAvailableOutputDevices.getDeviceFromId(client->preferredDeviceId())); } else { devices = getNewOutputDevices(outputDesc, false /*fromCache*/); } if (devices != outputDesc->devices()) { checkStrategyRoute(clientStrategy, outputDesc->mIoHandle); } Loading Loading
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -1641,7 +1641,14 @@ status_t AudioPolicyManager::startSource(const sp<SwAudioOutputDescriptor>& outp outputDesc->setClientActive(client, true); if (client->hasPreferredDevice(true)) { if (outputDesc->clientsList(true /*activeOnly*/).size() == 1 && client->isPreferredDeviceForExclusiveUse()) { // Preferred device may be exclusive, use only if no other active clients on this output devices = DeviceVector( mAvailableOutputDevices.getDeviceFromId(client->preferredDeviceId())); } else { devices = getNewOutputDevices(outputDesc, false /*fromCache*/); } if (devices != outputDesc->devices()) { checkStrategyRoute(clientStrategy, outputDesc->mIoHandle); } Loading