Mercurial > SDL_sound_CoreAudio
changeset 144:195c96fa355a
Fix for properly streaming from the overflow buffer.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Wed, 17 Oct 2001 06:51:29 +0000 |
parents | 3e60862fbd76 |
children | 6c351e4243f8 |
files | playsound/playsound.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/playsound/playsound.c Mon Oct 15 21:21:11 2001 +0000 +++ b/playsound/playsound.c Wed Oct 17 06:51:29 2001 +0000 @@ -90,6 +90,7 @@ static void audio_callback(void *userdata, Uint8 *stream, int len) { static Uint8 overflow[16384]; /* this is a hack. */ + static Uint8 *overflow_ptr; static int overflowBytes = 0; Sound_Sample *sample = (Sound_Sample *) userdata; int bw = 0; /* bytes written to stream*/ @@ -98,7 +99,8 @@ if (overflowBytes > 0) { bw = (overflowBytes < len) ? overflowBytes : len; - memcpy(stream, overflow, bw); + memcpy(stream, overflow_ptr, bw); + overflow_ptr += bw; overflowBytes -= bw; } /* if */ @@ -113,6 +115,7 @@ memcpy(overflow, ((Uint8 *) sample->buffer) + (rc - overflowBytes), overflowBytes); + overflow_ptr = overflow; rc -= overflowBytes; } /* if */