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 @@ -697,7 +699,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 @@ -708,7 +710,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 @@ -719,7 +721,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 @@ -827,7 +829,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 @@ -852,7 +854,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 @@ -873,7 +875,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 @@ -697,7 +699,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 @@ -708,7 +710,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 @@ -719,7 +721,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 @@ -827,7 +829,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 @@ -852,7 +854,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 @@ -873,7 +875,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