Loading services/audioflinger/AudioPolicyService.cpp +8 −6 Original line number Diff line number Diff line Loading @@ -49,6 +49,8 @@ static const char kCmdDeadlockedString[] = "AudioPolicyService command thread ma static const int kDumpLockRetries = 50; static const int kDumpLockSleepUs = 20000; static const nsecs_t kAudioCommandTimeout = 3000000000; // 3 seconds namespace { extern struct audio_policy_service_ops aps_ops; }; Loading Loading @@ -707,7 +709,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() data->mIO); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading @@ -718,7 +720,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() command->mStatus = AudioSystem::setParameters(data->mIO, data->mKeyValuePairs); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading @@ -729,7 +731,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() command->mStatus = AudioSystem::setVoiceVolume(data->mVolume); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading Loading @@ -837,7 +839,7 @@ status_t AudioPolicyService::AudioCommandThread::volumeCommand(audio_stream_type if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading @@ -862,7 +864,7 @@ status_t AudioPolicyService::AudioCommandThread::parametersCommand(audio_io_hand if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading @@ -883,7 +885,7 @@ status_t AudioPolicyService::AudioCommandThread::voiceVolumeCommand(float volume if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading Loading
services/audioflinger/AudioPolicyService.cpp +8 −6 Original line number Diff line number Diff line Loading @@ -49,6 +49,8 @@ static const char kCmdDeadlockedString[] = "AudioPolicyService command thread ma static const int kDumpLockRetries = 50; static const int kDumpLockSleepUs = 20000; static const nsecs_t kAudioCommandTimeout = 3000000000; // 3 seconds namespace { extern struct audio_policy_service_ops aps_ops; }; Loading Loading @@ -707,7 +709,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() data->mIO); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading @@ -718,7 +720,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() command->mStatus = AudioSystem::setParameters(data->mIO, data->mKeyValuePairs); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading @@ -729,7 +731,7 @@ bool AudioPolicyService::AudioCommandThread::threadLoop() command->mStatus = AudioSystem::setVoiceVolume(data->mVolume); if (command->mWaitStatus) { command->mCond.signal(); mWaitWorkCV.wait(mLock); command->mCond.waitRelative(mLock, kAudioCommandTimeout); } delete data; }break; Loading Loading @@ -837,7 +839,7 @@ status_t AudioPolicyService::AudioCommandThread::volumeCommand(audio_stream_type if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading @@ -862,7 +864,7 @@ status_t AudioPolicyService::AudioCommandThread::parametersCommand(audio_io_hand if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading @@ -883,7 +885,7 @@ status_t AudioPolicyService::AudioCommandThread::voiceVolumeCommand(float volume if (command->mWaitStatus) { command->mCond.wait(mLock); status = command->mStatus; mWaitWorkCV.signal(); command->mCond.signal(); } return status; } Loading