X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fsdl%2Fconsumer_sdl.c;h=b8ce5367b6cb1d76d354a8d175c505fa5d39ded5;hb=74acd162455a590ca335bb7cf4de7956b37016f3;hp=adc60b42cd1b64fff011aa743372b885ea0b7836;hpb=448668c0ab64f692e5ab0bd2af8fe35892ef48e5;p=melted diff --git a/src/modules/sdl/consumer_sdl.c b/src/modules/sdl/consumer_sdl.c index adc60b4..b8ce536 100644 --- a/src/modules/sdl/consumer_sdl.c +++ b/src/modules/sdl/consumer_sdl.c @@ -262,7 +262,10 @@ static void sdl_fill_audio( void *udata, uint8_t *stream, int len ) if ( this->audio_avail >= len ) { // Place in the audio buffer - memcpy( stream, this->audio_buffer, len ); + if ( volume != 1.0 ) + SDL_MixAudio( stream, this->audio_buffer, len, ( int )( ( float )SDL_MIX_MAXVOLUME * volume ) ); + else + memcpy( stream, this->audio_buffer, len ); // Remove len from the audio available this->audio_avail -= len; @@ -279,7 +282,7 @@ static void sdl_fill_audio( void *udata, uint8_t *stream, int len ) memcpy( stream, this->audio_buffer, this->audio_avail ); // Mix the audio - SDL_MixAudio( stream, stream, len, ( int )( ( double )SDL_MIX_MAXVOLUME * volume ) ); + SDL_MixAudio( stream, this->audio_buffer, len, ( int )( ( float )SDL_MIX_MAXVOLUME * volume ) ); // No audio left this->audio_avail = 0;