am 91487425: Merge change I0448ef20 into eclair
Merge commit '9148742546defc66a23ca1a0fc8f5515ff2c6c61' into eclair-plus-aosp * commit '9148742546defc66a23ca1a0fc8f5515ff2c6c61': Fix SoundPool buffer size rounding error. Bug 2327620.
This commit is contained in:
@@ -501,7 +501,8 @@ void SoundChannel::play(const sp<Sample>& sample, int nextChannelID, float leftV
|
|||||||
}
|
}
|
||||||
int numChannels = sample->numChannels();
|
int numChannels = sample->numChannels();
|
||||||
uint32_t sampleRate = uint32_t(float(sample->sampleRate()) * rate + 0.5);
|
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;
|
uint32_t frameCount = 0;
|
||||||
|
|
||||||
if (loop) {
|
if (loop) {
|
||||||
@@ -510,8 +511,8 @@ void SoundChannel::play(const sp<Sample>& sample, int nextChannelID, float leftV
|
|||||||
|
|
||||||
#ifndef USE_SHARED_MEM_BUFFER
|
#ifndef USE_SHARED_MEM_BUFFER
|
||||||
// Ensure minimum audio buffer size in case of short looped sample
|
// Ensure minimum audio buffer size in case of short looped sample
|
||||||
if(frameCount < kDefaultBufferCount * bufferFrames) {
|
if(frameCount < totalFrames) {
|
||||||
frameCount = kDefaultBufferCount * bufferFrames;
|
frameCount = totalFrames;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user