Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 801682ed authored by Zhou Song's avatar Zhou Song Committed by Steve Kondik
Browse files

audioflinger: clear effect buffers for duplicating output

-Clear effect buffers in threadloop_mix() in case audio
 effects enabled when output threads are not ready
-Also clear mix buffers in threadLoop_sleepTime()when tracks
 are not ready

CRs-Fixed: 765749

Change-Id: I475d42ac0cc68e4856002a9bd4c6c256a6fca70c
parent 61909fb9
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -4721,6 +4721,8 @@ void AudioFlinger::DuplicatingThread::threadLoop_mix()
    } else {
        if (mMixerBufferValid) {
            memset(mMixerBuffer, 0, mMixerBufferSize);
        } else if (mEffectBufferValid) {
            memset(mEffectBuffer, 0, mEffectBufferSize);
        } else {
            memset(mSinkBuffer, 0, mSinkBufferSize);
        }
@@ -4742,7 +4744,11 @@ void AudioFlinger::DuplicatingThread::threadLoop_sleepTime()
    } else if (mBytesWritten != 0) {
        if (mMixerStatus == MIXER_TRACKS_ENABLED) {
            writeFrames = mNormalFrameCount;
            if (mMixerBufferValid) {
                memset(mMixerBuffer, 0, mMixerBufferSize);
            } else {
                memset(mSinkBuffer, 0, mSinkBufferSize);
            }
        } else {
            // flush remaining overflow buffers in output tracks
            writeFrames = 0;