/* * Stops playback of all channels. */ void AL_StopAllChannels(void) { int i; channel_t *ch; ch = channels; /* It doesn't matter if a channel is active or not. */ for (i = 0; i < s_numchannels; i++, ch++) { if (!ch->sfx) { continue; } AL_StopChannel(ch); } s_rawend = 0; /* Remove all pending samples */ AL_StreamDie(); }
/* * Shuts the OpenAL backend down */ void AL_Shutdown ( void ) { Com_Printf ( "Shutting down OpenAL.\n" ); AL_StreamDie(); qalDeleteSources ( 1, &streamSource ); #if !defined (HT_OS_OSX) qalDeleteFilters ( 1, &underwaterFilter ); #endif if ( s_numchannels ) { /* delete source names */ qalDeleteSources ( s_numchannels, s_srcnums ); memset ( s_srcnums, 0, sizeof ( s_srcnums ) ); s_numchannels = 0; } QAL_Shutdown(); }
/* * Kills all raw samples still in flight. * This is used to stop music playback * when silence is triggered. */ void AL_UnqueueRawSamples() { AL_StreamDie(); }