diff --git a/code/client/snd_openal.c b/code/client/snd_openal.c index 4f6e197d..cd266d0d 100644 --- a/code/client/snd_openal.c +++ b/code/client/snd_openal.c @@ -1135,19 +1135,19 @@ void S_AL_StreamUpdate( void ) // Start the streamSource playing if necessary qalGetSourcei( streamSource, AL_BUFFERS_QUEUED, &numBuffers ); - // If it's stopped, release the streamSource qalGetSourcei(streamSource, AL_SOURCE_STATE, &state); if(state == AL_STOPPED) { streamPlaying = qfalse; - /*qalSourceStop(streamSource);*/ + + // If there are no buffers queued up, release the streamSource if( !numBuffers ) S_AL_FreeStreamChannel( ); } if( !streamPlaying && numBuffers ) { - qalSourcePlay(streamSource); + qalSourcePlay( streamSource ); streamPlaying = qtrue; } }