Mercurial > mplayer.hg
changeset 12673:c1371fce7267
make the internal sdl mixer optional, idea by Reimar Doffinger
author | alex |
---|---|
date | Sat, 26 Jun 2004 09:21:07 +0000 |
parents | 9709ce101949 |
children | 0392f36045f4 |
files | libao2/ao_sdl.c |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libao2/ao_sdl.c Sat Jun 26 09:14:20 2004 +0000 +++ b/libao2/ao_sdl.c Sat Jun 26 09:21:07 2004 +0000 @@ -35,6 +35,9 @@ LIBAO_EXTERN(sdl) +// turn this on if you want to use the slower SDL_MixAudio +#undef USE_SDL_INTERNAL_MIXER + // Samplesize used by the SDLlib AudioSpec struct #ifdef WIN32 #define SAMPLESIZE 2048 @@ -53,7 +56,9 @@ static unsigned int buf_write=0; static unsigned int buf_read_pos=0; static unsigned int buf_write_pos=0; +#ifdef USE_SDL_INTERNAL_MIXER static unsigned char volume=SDL_MIX_MAXVOLUME; +#endif static int full_buffers=0; static int buffered_bytes=0; @@ -87,7 +92,11 @@ x=BUFFSIZE-buf_read_pos; if(x>len) x=len; if (x>buffered_bytes) x=buffered_bytes; +#ifdef USE_SDL_INTERNAL_MIXER SDL_MixAudio(data+len2,buffer[buf_read]+buf_read_pos,x,volume); +#else + memcpy(data+len2,buffer[buf_read]+buf_read_pos,x); +#endif len2+=x; len-=x; buffered_bytes-=x; buf_read_pos+=x; if(buf_read_pos>=BUFFSIZE){ @@ -121,6 +130,7 @@ // to set/get/query special features/parameters static int control(int cmd,void *arg){ +#ifdef USE_SDL_INTERNAL_MIXER switch (cmd) { case AOCONTROL_GET_VOLUME: { @@ -137,7 +147,8 @@ return CONTROL_OK; } } - return -1; +#endif + return CONTROL_UNKNOWN; } // SDL Callback function