Commit 3a0261fd authored by Patrice Mandin's avatar Patrice Mandin

clear convert.buf before filling it

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401035
parent 87be6195
......@@ -49,19 +49,29 @@ cookie_stfa_t *SDL_MintAudio_stfa;
void SDL_MintAudio_Callback(void)
{
Uint8 *buffer;
SDL_AudioDevice *audio = SDL_MintAudio_device;
buffer = SDL_MintAudio_audiobuf[SDL_MintAudio_numbuf];
memset(buffer, SDL_MintAudio_device->spec.silence, SDL_MintAudio_device->spec.size);
if ( ! SDL_MintAudio_device->paused ) {
if ( SDL_MintAudio_device->convert.needed ) {
SDL_MintAudio_device->spec.callback(SDL_MintAudio_device->spec.userdata,
(Uint8 *)SDL_MintAudio_device->convert.buf,SDL_MintAudio_device->convert.len);
SDL_ConvertAudio(&SDL_MintAudio_device->convert);
memcpy(buffer, SDL_MintAudio_device->convert.buf, SDL_MintAudio_device->convert.len_cvt);
memset(buffer, audio->spec.silence, audio->spec.size);
if (audio->paused)
return;
if (audio->convert.needed) {
int silence;
if ( audio->convert.src_format == AUDIO_U8 ) {
silence = 0x80;
} else {
SDL_MintAudio_device->spec.callback(SDL_MintAudio_device->spec.userdata, buffer, SDL_MintAudio_device->spec.size);
silence = 0;
}
memset(audio->convert.buf, silence, audio->convert.len);
audio->spec.callback(audio->spec.userdata,
(Uint8 *)audio->convert.buf,audio->convert.len);
SDL_ConvertAudio(&audio->convert);
memcpy(buffer, audio->convert.buf, audio->convert.len_cvt);
} else {
audio->spec.callback(audio->spec.userdata, buffer, audio->spec.size);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment