diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 45 | ||||
-rw-r--r-- | services/audioflinger/AudioFlinger.h | 6 | ||||
-rw-r--r-- | services/audioflinger/AudioMixer.cpp | 8 | ||||
-rw-r--r-- | services/audioflinger/AudioMixer.h | 3 | ||||
-rw-r--r-- | services/audioflinger/AudioPolicyService.cpp | 3 |
5 files changed, 20 insertions, 45 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 29d63de..2ef0a28 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -2688,7 +2688,6 @@ bool AudioFlinger::DirectOutputThread::threadLoop() sp<Track> trackToRemove; sp<Track> activeTrack; nsecs_t standbyTime = systemTime(); - int8_t *curBuf; size_t mixBufferSize = mFrameCount*mFrameSize; uint32_t activeSleepTime = activeSleepTimeUs(); uint32_t idleSleepTime = idleSleepTimeUs(); @@ -2892,7 +2891,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop() if (CC_LIKELY(mixerStatus == MIXER_TRACKS_READY)) { AudioBufferProvider::Buffer buffer; size_t frameCount = mFrameCount; - curBuf = (int8_t *)mMixBuffer; + int8_t *curBuf = (int8_t *)mMixBuffer; // output audio to hardware while (frameCount) { buffer.frameCount = frameCount; @@ -3254,7 +3253,7 @@ void AudioFlinger::DuplicatingThread::removeOutputTrack(MixerThread *thread) { Mutex::Autolock _l(mLock); for (size_t i = 0; i < mOutputTracks.size(); i++) { - if (mOutputTracks[i]->thread() == (ThreadBase *)thread) { + if (mOutputTracks[i]->thread() == thread) { mOutputTracks[i]->destroy(); mOutputTracks.removeAt(i); updateWaitTime(); @@ -4489,10 +4488,9 @@ status_t AudioFlinger::PlaybackThread::OutputTrack::obtainBuffer(AudioBufferProv void AudioFlinger::PlaybackThread::OutputTrack::clearBufferQueue() { size_t size = mBufferQueue.size(); - Buffer *pBuffer; for (size_t i = 0; i < size; i++) { - pBuffer = mBufferQueue.itemAt(i); + Buffer *pBuffer = mBufferQueue.itemAt(i); delete [] pBuffer->mBuffer; delete pBuffer; } @@ -4564,9 +4562,7 @@ AudioFlinger::NotificationClient::~NotificationClient() void AudioFlinger::NotificationClient::binderDied(const wp<IBinder>& who) { sp<NotificationClient> keep(this); - { - mAudioFlinger->removeNotificationClient(mPid); - } + mAudioFlinger->removeNotificationClient(mPid); } // ---------------------------------------------------------------------------- @@ -5542,8 +5538,7 @@ status_t AudioFlinger::closeOutput(audio_io_handle_t output) } } } - void *param2 = NULL; - audioConfigChanged_l(AudioSystem::OUTPUT_CLOSED, output, param2); + audioConfigChanged_l(AudioSystem::OUTPUT_CLOSED, output, NULL); mPlaybackThreads.removeItem(output); } thread->exit(); @@ -5687,8 +5682,7 @@ status_t AudioFlinger::closeInput(audio_io_handle_t input) } ALOGV("closeInput() %d", input); - void *param2 = NULL; - audioConfigChanged_l(AudioSystem::INPUT_CLOSED, input, param2); + audioConfigChanged_l(AudioSystem::INPUT_CLOSED, input, NULL); mRecordThreads.removeItem(input); } thread->exit(); @@ -5720,8 +5714,7 @@ status_t AudioFlinger::setStreamOutput(audio_stream_type_t stream, audio_io_hand for (size_t i = 0; i < mPlaybackThreads.size(); i++) { PlaybackThread *thread = mPlaybackThreads.valueAt(i).get(); - if (thread != dstThread && - thread->type() != ThreadBase::DIRECT) { + if (thread != dstThread && thread->type() != ThreadBase::DIRECT) { MixerThread *srcThread = (MixerThread *)thread; srcThread->setStreamValid(stream, false); srcThread->invalidateTracks(stream); @@ -5844,33 +5837,20 @@ void AudioFlinger::purgeStaleEffects_l() { // checkPlaybackThread_l() must be called with AudioFlinger::mLock held AudioFlinger::PlaybackThread *AudioFlinger::checkPlaybackThread_l(audio_io_handle_t output) const { - PlaybackThread *thread = NULL; - if (mPlaybackThreads.indexOfKey(output) >= 0) { - thread = (PlaybackThread *)mPlaybackThreads.valueFor(output).get(); - } - return thread; + return mPlaybackThreads.valueFor(output).get(); } // checkMixerThread_l() must be called with AudioFlinger::mLock held AudioFlinger::MixerThread *AudioFlinger::checkMixerThread_l(audio_io_handle_t output) const { PlaybackThread *thread = checkPlaybackThread_l(output); - if (thread != NULL) { - if (thread->type() == ThreadBase::DIRECT) { - thread = NULL; - } - } - return (MixerThread *)thread; + return thread != NULL && thread->type() != ThreadBase::DIRECT ? (MixerThread *) thread : NULL; } // checkRecordThread_l() must be called with AudioFlinger::mLock held AudioFlinger::RecordThread *AudioFlinger::checkRecordThread_l(audio_io_handle_t input) const { - RecordThread *thread = NULL; - if (mRecordThreads.indexOfKey(input) >= 0) { - thread = (RecordThread *)mRecordThreads.valueFor(input).get(); - } - return thread; + return mRecordThreads.valueFor(input).get(); } uint32_t AudioFlinger::nextUniqueId() @@ -6233,10 +6213,7 @@ sp<AudioFlinger::EffectHandle> AudioFlinger::ThreadBase::createEffect_l( goto Exit; } // Only Pre processor effects are allowed on input threads and only on input threads - if ((mType == RECORD && - (desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_PRE_PROC) || - (mType != RECORD && - (desc->flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_PRE_PROC)) { + if ((mType == RECORD) != ((desc->flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_PRE_PROC)) { ALOGW("createEffect_l() effect %s (flags %08x) created on wrong thread type %d", desc->name, desc->flags, mType); lStatus = BAD_VALUE; diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index 9396a0b..50712cf 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -766,7 +766,7 @@ private: virtual status_t start(pid_t tid); virtual void stop(); bool write(int16_t* data, uint32_t frames); - bool bufferQueueEmpty() const { return (mBufferQueue.size() == 0) ? true : false; } + bool bufferQueueEmpty() const { return mBufferQueue.size() == 0; } bool isActive() const { return mActive; } const wp<ThreadBase>& thread() const { return mThread; } @@ -994,8 +994,8 @@ private: uint32_t nextUniqueId(); status_t moveEffectChain_l(int sessionId, - AudioFlinger::PlaybackThread *srcThread, - AudioFlinger::PlaybackThread *dstThread, + PlaybackThread *srcThread, + PlaybackThread *dstThread, bool reRegister); PlaybackThread *primaryPlaybackThread_l(); uint32_t primaryOutputDevice_l(); diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp index c399691..f3bf953 100644 --- a/services/audioflinger/AudioMixer.cpp +++ b/services/audioflinger/AudioMixer.cpp @@ -556,7 +556,7 @@ void AudioMixer::volumeRampStereo(track_t* t, int32_t* out, size_t frameCount, i } t->prevVolume[0] = vl; t->prevVolume[1] = vr; - t->adjustVolumeRamp((aux != NULL)); + t->adjustVolumeRamp(aux != NULL); } void AudioMixer::volumeStereo(track_t* t, int32_t* out, size_t frameCount, int32_t* temp, int32_t* aux) @@ -862,7 +862,7 @@ void AudioMixer::process__genericNoResampling(state_t* state, int64_t pts) while (outFrames) { size_t inFrames = (t.frameCount > outFrames)?outFrames:t.frameCount; if (inFrames) { - (t.hook)(&t, outTemp + (BLOCKSIZE-outFrames)*MAX_NUM_CHANNELS, inFrames, state->resampleTemp, aux); + t.hook(&t, outTemp + (BLOCKSIZE-outFrames)*MAX_NUM_CHANNELS, inFrames, state->resampleTemp, aux); t.frameCount -= inFrames; outFrames -= inFrames; if (CC_UNLIKELY(aux != NULL)) { @@ -944,7 +944,7 @@ void AudioMixer::process__genericResampling(state_t* state, int64_t pts) // the resampler. if ((t.needs & NEEDS_RESAMPLE__MASK) == NEEDS_RESAMPLE_ENABLED) { t.resampler->setPTS(pts); - (t.hook)(&t, outTemp, numFrames, state->resampleTemp, aux); + t.hook(&t, outTemp, numFrames, state->resampleTemp, aux); } else { size_t outFrames = 0; @@ -961,7 +961,7 @@ void AudioMixer::process__genericResampling(state_t* state, int64_t pts) if (CC_UNLIKELY(aux != NULL)) { aux += outFrames; } - (t.hook)(&t, outTemp + outFrames*MAX_NUM_CHANNELS, t.buffer.frameCount, state->resampleTemp, aux); + t.hook(&t, outTemp + outFrames*MAX_NUM_CHANNELS, t.buffer.frameCount, state->resampleTemp, aux); outFrames += t.buffer.frameCount; t.bufferProvider->releaseBuffer(&t.buffer); } diff --git a/services/audioflinger/AudioMixer.h b/services/audioflinger/AudioMixer.h index f442671..c3174ae 100644 --- a/services/audioflinger/AudioMixer.h +++ b/services/audioflinger/AudioMixer.h @@ -114,7 +114,6 @@ private: struct state_t; struct track_t; - typedef void (*mix_t)(state_t* state, int64_t pts); typedef void (*hook_t)(track_t* t, int32_t* output, size_t numOutFrames, int32_t* temp, int32_t* aux); static const int BLOCKSIZE = 16; // 4 cache lines @@ -167,7 +166,7 @@ private: uint32_t enabledTracks; uint32_t needsChanged; size_t frameCount; - mix_t hook; + void (*hook)(state_t* state, int64_t pts); // one of process__*, never NULL int32_t *outputTemp; int32_t *resampleTemp; int32_t reserved[2]; diff --git a/services/audioflinger/AudioPolicyService.cpp b/services/audioflinger/AudioPolicyService.cpp index 041b5a8..f1cd424 100644 --- a/services/audioflinger/AudioPolicyService.cpp +++ b/services/audioflinger/AudioPolicyService.cpp @@ -616,8 +616,7 @@ void AudioPolicyService::setPreProcessorEnabled(InputDesc *inputDesc, bool enabl { Vector<sp<AudioEffect> > fxVector = inputDesc->mEffects; for (size_t i = 0; i < fxVector.size(); i++) { - sp<AudioEffect> fx = fxVector.itemAt(i); - fx->setEnabled(enabled); + fxVector.itemAt(i)->setEnabled(enabled); } } |