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

Commit 4599184a authored by Android (Google) Code Review's avatar Android (Google) Code Review Committed by The Android Open Source Project
Browse files

am 450ad31b: Merge change 2774 into donut

Merge commit '450ad31b'

* commit '450ad31b':
  Limit check on maxChannels for SoundPool.
parents ceb0cba3 450ad31b
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -44,23 +44,27 @@ SoundPool::SoundPool(jobject soundPoolRef, int maxChannels, int streamType, int
    LOGV("SoundPool constructor: maxChannels=%d, streamType=%d, srcQuality=%d",
            maxChannels, streamType, srcQuality);

    if (maxChannels > 32) {
        LOGW("App requested %d channels, capped at 32", maxChannels);
        maxChannels = 32;
    // check limits
    mMaxChannels = maxChannels;
    if (mMaxChannels < 1) {
        mMaxChannels = 1;
    }
    else if (mMaxChannels > 32) {
        mMaxChannels = 32;
    }
    LOGW_IF(maxChannels != mMaxChannels, "App requested %d channels", maxChannels);

    mQuit = false;
    mSoundPoolRef = soundPoolRef;
    mDecodeThread = 0;
    mMaxChannels = maxChannels;
    mStreamType = streamType;
    mSrcQuality = srcQuality;
    mAllocated = 0;
    mNextSampleID = 0;
    mNextChannelID = 0;

    mChannelPool = new SoundChannel[maxChannels];
    for (int i = 0; i < maxChannels; ++i) {
    mChannelPool = new SoundChannel[mMaxChannels];
    for (int i = 0; i < mMaxChannels; ++i) {
        mChannelPool[i].init(this);
        mChannels.push_back(&mChannelPool[i]);
    }