Fix sample buffer calculation. Now it really asks for a buffer of 2048 samples for 22050Hz, like the comment states.

svn-id: r47558
This commit is contained in:
Johannes Schickel 2010-01-25 17:59:05 +00:00
parent dfafec6486
commit 157a1df30d

View file

@ -715,12 +715,12 @@ void OSystem_SDL::setupMixer() {
_samplesPerSec = SAMPLES_PER_SEC;
// Determine the sample buffer size. We want it to store enough data for
// about 1/16th of a second. Note that it must be a power of two.
// So e.g. at 22050 Hz, we request a sample buffer size of 2048.
// at least 1/16th of a second (though at maximum 8192 samples). Note
// that it must be a power of two. So e.g. at 22050 Hz, we request a
// sample buffer size of 2048.
int samples = 8192;
while (16 * samples >= _samplesPerSec) {
while (samples * 16 > _samplesPerSec * 2)
samples >>= 1;
}
memset(&desired, 0, sizeof(desired));
desired.freq = _samplesPerSec;