Unlock effect chains in the middle of two if's
As part of the upcoming threadLoop() merge, this CL makes it clearer
what are the similar and different parts before and after unlocking
effect chains.
In each threadLoop(), the old code was:
if (sleepTime == 0) {
// A
unlockEffectChains(effectChains);
// B
} else {
unlockEffectChains(effectChains);
// C
}
The new code is:
if (sleepTime == 0) {
// A
}
unlockEffectChains(effectChains);
if (sleepTime == 0) {
// B
} else {
// C
}
Also this is slightly slower by one "if", it has the advantage of making
it much more obvious about what is done before and after the unlock,
and also to see the similarities and differences among the various
copies of threadLoop().
Change-Id: I7bf4369d2dcb072573ec43b7e52c637f0097dc00
This commit is contained in:
@@ -2111,13 +2111,19 @@ bool AudioFlinger::MixerThread::threadLoop()
|
||||
if (mSuspended) {
|
||||
sleepTime = suspendSleepTimeUs();
|
||||
}
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
|
||||
// only process effects if we're going to write
|
||||
if (sleepTime == 0) {
|
||||
for (size_t i = 0; i < effectChains.size(); i ++) {
|
||||
effectChains[i]->process_l();
|
||||
}
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
}
|
||||
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
if (sleepTime == 0) {
|
||||
mLastWriteTime = systemTime();
|
||||
mInWrite = true;
|
||||
mBytesWritten += mixBufferSize;
|
||||
@@ -2141,8 +2147,6 @@ bool AudioFlinger::MixerThread::threadLoop()
|
||||
}
|
||||
mStandby = false;
|
||||
} else {
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
usleep(sleepTime);
|
||||
}
|
||||
|
||||
@@ -2920,7 +2924,8 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
|
||||
if (mSuspended) {
|
||||
sleepTime = suspendSleepTimeUs();
|
||||
}
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
|
||||
// only process effects if we're going to write
|
||||
if (sleepTime == 0) {
|
||||
if (mixerStatus == MIXER_TRACKS_READY) {
|
||||
applyVolume(leftVol, rightVol, rampVolume);
|
||||
@@ -2928,8 +2933,13 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
|
||||
for (size_t i = 0; i < effectChains.size(); i ++) {
|
||||
effectChains[i]->process_l();
|
||||
}
|
||||
unlockEffectChains(effectChains);
|
||||
}
|
||||
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
if (sleepTime == 0) {
|
||||
mLastWriteTime = systemTime();
|
||||
mInWrite = true;
|
||||
mBytesWritten += mixBufferSize;
|
||||
@@ -2939,7 +2949,6 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
|
||||
mInWrite = false;
|
||||
mStandby = false;
|
||||
} else {
|
||||
unlockEffectChains(effectChains);
|
||||
usleep(sleepTime);
|
||||
}
|
||||
|
||||
@@ -3191,14 +3200,19 @@ bool AudioFlinger::DuplicatingThread::threadLoop()
|
||||
if (mSuspended) {
|
||||
sleepTime = suspendSleepTimeUs();
|
||||
}
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
|
||||
// only process effects if we're going to write
|
||||
if (sleepTime == 0) {
|
||||
for (size_t i = 0; i < effectChains.size(); i ++) {
|
||||
effectChains[i]->process_l();
|
||||
}
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
}
|
||||
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
|
||||
// sleepTime == 0 means we must write to audio hardware
|
||||
if (sleepTime == 0) {
|
||||
standbyTime = systemTime() + mStandbyTimeInNsecs;
|
||||
for (size_t i = 0; i < outputTracks.size(); i++) {
|
||||
outputTracks[i]->write(mMixBuffer, writeFrames);
|
||||
@@ -3206,8 +3220,6 @@ bool AudioFlinger::DuplicatingThread::threadLoop()
|
||||
mStandby = false;
|
||||
mBytesWritten += mixBufferSize;
|
||||
} else {
|
||||
// enable changes in effect chain
|
||||
unlockEffectChains(effectChains);
|
||||
usleep(sleepTime);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user