fix system menu sound memory leaks in ogg mixing

This commit is contained in:
Brad Parker 2019-01-18 20:02:24 -05:00
parent afcaccbd05
commit 95a7b8c29b
1 changed files with 8 additions and 0 deletions

View File

@ -554,6 +554,14 @@ static bool audio_mixer_play_ogg(
goto error;
}
/* "system" menu sounds may reuse the same voice without freeing anything first, so do that here if needed */
if (voice->types.ogg.buffer)
memalign_free(voice->types.ogg.buffer);
if (voice->types.ogg.stream)
stb_vorbis_close(voice->types.ogg.stream);
if (voice->types.ogg.resampler && voice->types.ogg.resampler_data)
voice->types.ogg.resampler->free(voice->types.ogg.resampler_data);
voice->types.ogg.resampler = resamp;
voice->types.ogg.resampler_data = resampler_data;
voice->types.ogg.buffer = (float*)ogg_buffer;