mirror of
https://github.com/raysan5/raylib.git
synced 2025-10-01 15:38:30 +00:00
Clear music buffers on stop
This commit is contained in:
11
src/audio.c
11
src/audio.c
@@ -762,7 +762,18 @@ void ResumeMusicStream(Music music)
|
|||||||
void StopMusicStream(Music music)
|
void StopMusicStream(Music music)
|
||||||
{
|
{
|
||||||
alSourceStop(music->stream.source);
|
alSourceStop(music->stream.source);
|
||||||
|
|
||||||
|
// Clear stream buffers
|
||||||
|
void *pcm = calloc(AUDIO_BUFFER_SIZE*music->stream.sampleSize/8*music->stream.channels, 1);
|
||||||
|
|
||||||
|
for (int i = 0; i < MAX_STREAM_BUFFERS; i++)
|
||||||
|
{
|
||||||
|
alBufferData(music->stream.buffers[i], music->stream.format, pcm, AUDIO_BUFFER_SIZE*music->stream.sampleSize/8*music->stream.channels, music->stream.sampleRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pcm);
|
||||||
|
|
||||||
|
// Restart music context
|
||||||
switch (music->ctxType)
|
switch (music->ctxType)
|
||||||
{
|
{
|
||||||
case MUSIC_AUDIO_OGG: stb_vorbis_seek_start(music->ctxOgg); break;
|
case MUSIC_AUDIO_OGG: stb_vorbis_seek_start(music->ctxOgg); break;
|
||||||
|
Reference in New Issue
Block a user