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

Commit b5fc8ffc authored by Dave Sparks's avatar Dave Sparks Committed by Android Git Automerger
Browse files

am 91487425: Merge change I0448ef20 into eclair

Merge commit '91487425' into eclair-plus-aosp

* commit '91487425':
  Fix SoundPool buffer size rounding error. Bug 2327620.
parents 3a0d1a46 91487425
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -501,7 +501,8 @@ void SoundChannel::play(const sp<Sample>& sample, int nextChannelID, float leftV
    }
    int numChannels = sample->numChannels();
    uint32_t sampleRate = uint32_t(float(sample->sampleRate()) * rate + 0.5);
    uint32_t bufferFrames = (afFrameCount * sampleRate) / afSampleRate;
    uint32_t totalFrames = (kDefaultBufferCount * afFrameCount * sampleRate) / afSampleRate;
    uint32_t bufferFrames = (totalFrames + (kDefaultBufferCount - 1)) / kDefaultBufferCount;
    uint32_t frameCount = 0;

    if (loop) {
@@ -510,8 +511,8 @@ void SoundChannel::play(const sp<Sample>& sample, int nextChannelID, float leftV

#ifndef USE_SHARED_MEM_BUFFER
    // Ensure minimum audio buffer size in case of short looped sample
    if(frameCount < kDefaultBufferCount * bufferFrames) {
        frameCount = kDefaultBufferCount * bufferFrames;
    if(frameCount < totalFrames) {
        frameCount = totalFrames;
    }
#endif