void soloud_sdl1_audiomixer(void *userdata, Uint8 *stream, int len) { short *buf = (short*)stream; SoLoud::Soloud *soloud = (SoLoud::Soloud *)userdata; int samples = len / (gActiveAudioSpec.channels * sizeof(short)); soloud->mixSigned16(buf, samples); }
void soloud_sdlstatic_audiomixer(void *userdata, Uint8 *stream, int len) { short *buf = (short*)stream; SoLoud::Soloud *soloud = (SoLoud::Soloud *)userdata; if (gActiveAudioSpec.format == AUDIO_F32) { int samples = len / (gActiveAudioSpec.channels * sizeof(float)); soloud->mix((float *)buf, samples); } else // assume s16 if not float { int samples = len / (gActiveAudioSpec.channels * sizeof(short)); soloud->mixSigned16(buf, samples); } }