Loading services/audiopolicy/service/AudioPolicyService.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -59,6 +59,10 @@ static const int kDumpLockTimeoutNs = 1 * NANOS_PER_SECOND; static const nsecs_t kAudioCommandTimeoutNs = seconds(3); // 3 seconds static const nsecs_t kAudioCommandTimeoutNs = seconds(3); // 3 seconds // longer timeout for create audio patch to account for specific scenarii // with Bluetooth devices static const nsecs_t kPatchAudioCommandTimeoutNs = seconds(4); // 4 seconds static const String16 sManageAudioPolicyPermission("android.permission.MANAGE_AUDIO_POLICY"); static const String16 sManageAudioPolicyPermission("android.permission.MANAGE_AUDIO_POLICY"); namespace { namespace { Loading Loading @@ -2435,7 +2439,9 @@ status_t AudioPolicyService::AudioCommandThread::sendCommand(sp<AudioCommand>& c } } audio_utils::unique_lock ul(command->mMutex); audio_utils::unique_lock ul(command->mMutex); while (command->mWaitStatus) { while (command->mWaitStatus) { nsecs_t timeOutNs = kAudioCommandTimeoutNs + milliseconds(delayMs); nsecs_t timeOutNs = (command->mCommand == CREATE_AUDIO_PATCH ? kPatchAudioCommandTimeoutNs : kAudioCommandTimeoutNs) + milliseconds(delayMs); if (command->mCond.wait_for( if (command->mCond.wait_for( ul, std::chrono::nanoseconds(timeOutNs), getTid()) == std::cv_status::timeout) { ul, std::chrono::nanoseconds(timeOutNs), getTid()) == std::cv_status::timeout) { command->mStatus = TIMED_OUT; command->mStatus = TIMED_OUT; Loading Loading
services/audiopolicy/service/AudioPolicyService.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -59,6 +59,10 @@ static const int kDumpLockTimeoutNs = 1 * NANOS_PER_SECOND; static const nsecs_t kAudioCommandTimeoutNs = seconds(3); // 3 seconds static const nsecs_t kAudioCommandTimeoutNs = seconds(3); // 3 seconds // longer timeout for create audio patch to account for specific scenarii // with Bluetooth devices static const nsecs_t kPatchAudioCommandTimeoutNs = seconds(4); // 4 seconds static const String16 sManageAudioPolicyPermission("android.permission.MANAGE_AUDIO_POLICY"); static const String16 sManageAudioPolicyPermission("android.permission.MANAGE_AUDIO_POLICY"); namespace { namespace { Loading Loading @@ -2435,7 +2439,9 @@ status_t AudioPolicyService::AudioCommandThread::sendCommand(sp<AudioCommand>& c } } audio_utils::unique_lock ul(command->mMutex); audio_utils::unique_lock ul(command->mMutex); while (command->mWaitStatus) { while (command->mWaitStatus) { nsecs_t timeOutNs = kAudioCommandTimeoutNs + milliseconds(delayMs); nsecs_t timeOutNs = (command->mCommand == CREATE_AUDIO_PATCH ? kPatchAudioCommandTimeoutNs : kAudioCommandTimeoutNs) + milliseconds(delayMs); if (command->mCond.wait_for( if (command->mCond.wait_for( ul, std::chrono::nanoseconds(timeOutNs), getTid()) == std::cv_status::timeout) { ul, std::chrono::nanoseconds(timeOutNs), getTid()) == std::cv_status::timeout) { command->mStatus = TIMED_OUT; command->mStatus = TIMED_OUT; Loading