Loading services/audiopolicy/managerdefault/AudioPolicyManager.cpp +4 −0 Original line number Original line Diff line number Diff line Loading @@ -3185,6 +3185,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) { if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) { DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/); DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/); waitMs = updateCallRouting(newDevices, delayMs); waitMs = updateCallRouting(newDevices, delayMs); // Only apply special touch sound delay once delayMs = 0; } } for (size_t i = 0; i < mOutputs.size(); i++) { for (size_t i = 0; i < mOutputs.size(); i++) { sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i); sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i); Loading @@ -3194,6 +3196,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint // preventing the force re-routing in case of default dev that distinguishes on address. // preventing the force re-routing in case of default dev that distinguishes on address. // Let's give back to engine full device choice decision however. // Let's give back to engine full device choice decision however. waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs); waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs); // Only apply special touch sound delay once delayMs = 0; } } if (forceVolumeReeval && !newDevices.isEmpty()) { if (forceVolumeReeval && !newDevices.isEmpty()) { applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true); applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true); Loading Loading
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +4 −0 Original line number Original line Diff line number Diff line Loading @@ -3185,6 +3185,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) { if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) { DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/); DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/); waitMs = updateCallRouting(newDevices, delayMs); waitMs = updateCallRouting(newDevices, delayMs); // Only apply special touch sound delay once delayMs = 0; } } for (size_t i = 0; i < mOutputs.size(); i++) { for (size_t i = 0; i < mOutputs.size(); i++) { sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i); sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i); Loading @@ -3194,6 +3196,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint // preventing the force re-routing in case of default dev that distinguishes on address. // preventing the force re-routing in case of default dev that distinguishes on address. // Let's give back to engine full device choice decision however. // Let's give back to engine full device choice decision however. waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs); waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs); // Only apply special touch sound delay once delayMs = 0; } } if (forceVolumeReeval && !newDevices.isEmpty()) { if (forceVolumeReeval && !newDevices.isEmpty()) { applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true); applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true); Loading