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

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

am b5fc8ffc: am 91487425: Merge change I0448ef20 into eclair

Merge commit 'b5fc8ffc'

* commit 'b5fc8ffc':
  Fix SoundPool buffer size rounding error. Bug 2327620.
parents d3f237a5 b5fc8ffc
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -500,7 +500,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) {
@@ -509,8 +510,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