Loading services/audioflinger/Threads.cpp +19 −11 Original line number Diff line number Diff line Loading @@ -476,13 +476,13 @@ void AudioFlinger::ThreadBase::dumpEffectChains(int fd, const Vector<String16>& } } void AudioFlinger::ThreadBase::acquireWakeLock() void AudioFlinger::ThreadBase::acquireWakeLock(int uid) { Mutex::Autolock _l(mLock); acquireWakeLock_l(); acquireWakeLock_l(uid); } void AudioFlinger::ThreadBase::acquireWakeLock_l() void AudioFlinger::ThreadBase::acquireWakeLock_l(int uid) { if (mPowerManager == 0) { // use checkService() to avoid blocking if power service is not up yet Loading @@ -497,10 +497,19 @@ void AudioFlinger::ThreadBase::acquireWakeLock_l() } if (mPowerManager != 0) { sp<IBinder> binder = new BBinder(); status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, status_t status; if (uid >= 0) { mPowerManager->acquireWakeLockWithUid(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, String16(mName), String16("media"), uid); } else { mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, String16(mName), String16("media")); } if (status == NO_ERROR) { mWakeLockToken = binder; } Loading Loading @@ -4283,7 +4292,7 @@ AudioFlinger::RecordThread::RecordThread(const sp<AudioFlinger>& audioFlinger, snprintf(mName, kNameLength, "AudioIn_%X", id); readInputParameters(); mClientUid = IPCThreadState::self()->getCallingUid(); } Loading Loading @@ -4315,7 +4324,7 @@ bool AudioFlinger::RecordThread::threadLoop() nsecs_t lastWarning = 0; inputStandBy(); acquireWakeLock(); acquireWakeLock(mClientUid); // used to verify we've read at least once before evaluating how many bytes were read bool readOnce = false; Loading @@ -4340,7 +4349,7 @@ bool AudioFlinger::RecordThread::threadLoop() // go to sleep mWaitWorkCV.wait(mLock); ALOGV("RecordThread: loop starting"); acquireWakeLock_l(); acquireWakeLock_l(mClientUid); continue; } if (mActiveTrack != 0) { Loading Loading @@ -4562,7 +4571,6 @@ sp<AudioFlinger::RecordThread::RecordTrack> AudioFlinger::RecordThread::createR ALOGE("Audio driver not initialized."); goto Exit; } // client expresses a preference for FAST, but we get the final say if (*flags & IAudioFlinger::TRACK_FAST) { if ( Loading services/audioflinger/Threads.h +3 −2 Original line number Diff line number Diff line Loading @@ -237,8 +237,8 @@ protected: effect_uuid_t mType; // effect type UUID }; void acquireWakeLock(); void acquireWakeLock_l(); void acquireWakeLock(int uid = -1); void acquireWakeLock_l(int uid = -1); void releaseWakeLock(); void releaseWakeLock_l(); void setEffectSuspended_l(const effect_uuid_t *type, Loading Loading @@ -951,4 +951,5 @@ private: // For dumpsys const sp<NBAIO_Sink> mTeeSink; int mClientUid; }; Loading
services/audioflinger/Threads.cpp +19 −11 Original line number Diff line number Diff line Loading @@ -476,13 +476,13 @@ void AudioFlinger::ThreadBase::dumpEffectChains(int fd, const Vector<String16>& } } void AudioFlinger::ThreadBase::acquireWakeLock() void AudioFlinger::ThreadBase::acquireWakeLock(int uid) { Mutex::Autolock _l(mLock); acquireWakeLock_l(); acquireWakeLock_l(uid); } void AudioFlinger::ThreadBase::acquireWakeLock_l() void AudioFlinger::ThreadBase::acquireWakeLock_l(int uid) { if (mPowerManager == 0) { // use checkService() to avoid blocking if power service is not up yet Loading @@ -497,10 +497,19 @@ void AudioFlinger::ThreadBase::acquireWakeLock_l() } if (mPowerManager != 0) { sp<IBinder> binder = new BBinder(); status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, status_t status; if (uid >= 0) { mPowerManager->acquireWakeLockWithUid(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, String16(mName), String16("media"), uid); } else { mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK, binder, String16(mName), String16("media")); } if (status == NO_ERROR) { mWakeLockToken = binder; } Loading Loading @@ -4283,7 +4292,7 @@ AudioFlinger::RecordThread::RecordThread(const sp<AudioFlinger>& audioFlinger, snprintf(mName, kNameLength, "AudioIn_%X", id); readInputParameters(); mClientUid = IPCThreadState::self()->getCallingUid(); } Loading Loading @@ -4315,7 +4324,7 @@ bool AudioFlinger::RecordThread::threadLoop() nsecs_t lastWarning = 0; inputStandBy(); acquireWakeLock(); acquireWakeLock(mClientUid); // used to verify we've read at least once before evaluating how many bytes were read bool readOnce = false; Loading @@ -4340,7 +4349,7 @@ bool AudioFlinger::RecordThread::threadLoop() // go to sleep mWaitWorkCV.wait(mLock); ALOGV("RecordThread: loop starting"); acquireWakeLock_l(); acquireWakeLock_l(mClientUid); continue; } if (mActiveTrack != 0) { Loading Loading @@ -4562,7 +4571,6 @@ sp<AudioFlinger::RecordThread::RecordTrack> AudioFlinger::RecordThread::createR ALOGE("Audio driver not initialized."); goto Exit; } // client expresses a preference for FAST, but we get the final say if (*flags & IAudioFlinger::TRACK_FAST) { if ( Loading
services/audioflinger/Threads.h +3 −2 Original line number Diff line number Diff line Loading @@ -237,8 +237,8 @@ protected: effect_uuid_t mType; // effect type UUID }; void acquireWakeLock(); void acquireWakeLock_l(); void acquireWakeLock(int uid = -1); void acquireWakeLock_l(int uid = -1); void releaseWakeLock(); void releaseWakeLock_l(); void setEffectSuspended_l(const effect_uuid_t *type, Loading Loading @@ -951,4 +951,5 @@ private: // For dumpsys const sp<NBAIO_Sink> mTeeSink; int mClientUid; };