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

Commit a0de6c6e authored by zhanglina1's avatar zhanglina1 Committed by Andy Hung
Browse files

Increase lock scope to protect variables



Ensure that the variable is locked throughout its lifetime.

Test: atest android.media.audio.cts.AudioEffectTest android.media.audio.cts.AudioPreProcessingTest android.media.audio.cts.BassBoostTest android.media.audio.cts.EnvReverbTest android.media.audio.cts.EqualizerTest android.media.audio.cts.LoudnessEnhancerTest android.media.audio.cts.PresetReverbTest android.media.audio.cts.VirtualizerTest android.media.audio.cts.VisualizerTest
Change-Id: I0bcaaa43c24df2afee1cbef278231ec94833c076
Signed-off-by: default avatarzhanglina1 <zhanglina1@xiaomi.corp-partner.google.com>
parent 3e2768a6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -366,14 +366,15 @@ status_t AudioEffect::command(uint32_t cmdCode,
        return mStatus;
    }

    std::unique_lock ul(mLock, std::defer_lock);
    if (cmdCode == EFFECT_CMD_ENABLE || cmdCode == EFFECT_CMD_DISABLE) {
        ul.lock();
        if (mEnabled == (cmdCode == EFFECT_CMD_ENABLE)) {
            return NO_ERROR;
        }
        if (replySize == nullptr || *replySize != sizeof(status_t) || replyData == nullptr) {
            return BAD_VALUE;
        }
        mLock.lock();
    }

    std::vector<uint8_t> data;
@@ -398,7 +399,6 @@ status_t AudioEffect::command(uint32_t cmdCode,
        if (status == NO_ERROR) {
            mEnabled = (cmdCode == EFFECT_CMD_ENABLE);
        }
        mLock.unlock();
    }

    return status;