Loading services/audioflinger/AudioFlinger.cpp +5 −6 Original line number Diff line number Diff line Loading @@ -2067,9 +2067,7 @@ if (mType == MIXER) { maxPeriod = seconds(mFrameCount) / mSampleRate * 15; } if (mType == DUPLICATING) { updateWaitTime(); } updateWaitTime_l(); activeSleepTime = activeSleepTimeUs(); idleSleepTime = idleSleepTimeUs(); Loading Loading @@ -3202,7 +3200,7 @@ void AudioFlinger::DuplicatingThread::addOutputTrack(MixerThread *thread) thread->setStreamVolume(AUDIO_STREAM_CNT, 1.0f); mOutputTracks.add(outputTrack); ALOGV("addOutputTrack() track %p, on thread %p", outputTrack, thread); updateWaitTime(); updateWaitTime_l(); } } Loading @@ -3213,14 +3211,15 @@ void AudioFlinger::DuplicatingThread::removeOutputTrack(MixerThread *thread) if (mOutputTracks[i]->thread() == thread) { mOutputTracks[i]->destroy(); mOutputTracks.removeAt(i); updateWaitTime(); updateWaitTime_l(); return; } } ALOGV("removeOutputTrack(): unkonwn thread: %p", thread); } void AudioFlinger::DuplicatingThread::updateWaitTime() // caller must hold mLock void AudioFlinger::DuplicatingThread::updateWaitTime_l() { mWaitTimeMs = UINT_MAX; for (size_t i = 0; i < mOutputTracks.size(); i++) { Loading services/audioflinger/AudioFlinger.h +4 −2 Original line number Diff line number Diff line Loading @@ -812,7 +812,7 @@ protected: virtual void threadLoop_standby(); // Non-trivial for DUPLICATING only virtual void updateWaitTime() { } virtual void updateWaitTime_l() { } // Non-trivial for DIRECT only virtual void applyVolume() { } Loading Loading @@ -1046,7 +1046,9 @@ public: virtual void threadLoop_sleepTime(); virtual void threadLoop_write(); virtual void threadLoop_standby(); virtual void updateWaitTime(); // called from threadLoop, addOutputTrack, removeOutputTrack virtual void updateWaitTime_l(); private: uint32_t mWaitTimeMs; Loading Loading
services/audioflinger/AudioFlinger.cpp +5 −6 Original line number Diff line number Diff line Loading @@ -2067,9 +2067,7 @@ if (mType == MIXER) { maxPeriod = seconds(mFrameCount) / mSampleRate * 15; } if (mType == DUPLICATING) { updateWaitTime(); } updateWaitTime_l(); activeSleepTime = activeSleepTimeUs(); idleSleepTime = idleSleepTimeUs(); Loading Loading @@ -3202,7 +3200,7 @@ void AudioFlinger::DuplicatingThread::addOutputTrack(MixerThread *thread) thread->setStreamVolume(AUDIO_STREAM_CNT, 1.0f); mOutputTracks.add(outputTrack); ALOGV("addOutputTrack() track %p, on thread %p", outputTrack, thread); updateWaitTime(); updateWaitTime_l(); } } Loading @@ -3213,14 +3211,15 @@ void AudioFlinger::DuplicatingThread::removeOutputTrack(MixerThread *thread) if (mOutputTracks[i]->thread() == thread) { mOutputTracks[i]->destroy(); mOutputTracks.removeAt(i); updateWaitTime(); updateWaitTime_l(); return; } } ALOGV("removeOutputTrack(): unkonwn thread: %p", thread); } void AudioFlinger::DuplicatingThread::updateWaitTime() // caller must hold mLock void AudioFlinger::DuplicatingThread::updateWaitTime_l() { mWaitTimeMs = UINT_MAX; for (size_t i = 0; i < mOutputTracks.size(); i++) { Loading
services/audioflinger/AudioFlinger.h +4 −2 Original line number Diff line number Diff line Loading @@ -812,7 +812,7 @@ protected: virtual void threadLoop_standby(); // Non-trivial for DUPLICATING only virtual void updateWaitTime() { } virtual void updateWaitTime_l() { } // Non-trivial for DIRECT only virtual void applyVolume() { } Loading Loading @@ -1046,7 +1046,9 @@ public: virtual void threadLoop_sleepTime(); virtual void threadLoop_write(); virtual void threadLoop_standby(); virtual void updateWaitTime(); // called from threadLoop, addOutputTrack, removeOutputTrack virtual void updateWaitTime_l(); private: uint32_t mWaitTimeMs; Loading