コード例 #1
0
/**
**  Cleanup sound server.
*/
void QuitSound()
{
#ifdef USE_OAML
	if (oaml) {
		oaml->Shutdown();
		delete oaml;
		oaml = NULL;
	}
#endif

	Audio.Running = false;
	SDL_WaitThread(Audio.Thread, NULL);

	SDL_DestroyCond(Audio.Cond);
	SDL_DestroyMutex(Audio.Lock);

	// Mustn't call SDL_CloseAudio here, it'll be called again from SDL_Quit
	SoundInitialized = false;
	delete[] Audio.MixerBuffer;
	Audio.MixerBuffer = NULL;
	delete[] Audio.Buffer;
	Audio.Buffer = NULL;
#ifdef USE_FLUIDSYNTH
	CleanFluidSynth();
#endif
}
コード例 #2
0
ファイル: sound_server.cpp プロジェクト: onkrot/stratagus
/**
**  Cleanup sound server.
*/
void QuitSound()
{
	Audio.Running = false;
	// Join with the FillThread
	SDL_WaitThread(Audio.Thread, NULL);

	SoundInitialized = false;
	delete[] Audio.MixerBuffer;
	Audio.MixerBuffer = NULL;
	delete[] Audio.Buffer;
	Audio.Buffer = NULL;
#ifdef USE_FLUIDSYNTH
	CleanFluidSynth();
#endif
}