SoundOutput_DirectSound::~SoundOutput_DirectSound() { stop_mixer_thread(); if (soundbuffer) soundbuffer->Stop(); release_resources(); }
SoundOutput_alsa::~SoundOutput_alsa() { stop_mixer_thread(); if (handle) { snd_pcm_close(handle); handle = nullptr; } }
CL_SoundOutput_alsa::~CL_SoundOutput_alsa() { stop_mixer_thread(); if (handle) { snd_pcm_close(handle); handle = NULL; } }
SoundOutput_Win32::~SoundOutput_Win32() { stop_mixer_thread(); if (is_playing) audio_client->Stop(); audio_render_client.clear(); audio_client.clear(); mmdevice.clear(); CloseHandle(audio_buffer_ready_event); }
void SoundOutput_DirectSound::play_sound_buffer() { start_mixer_thread(); HRESULT err = soundbuffer->Play(0, 0, DSBPLAY_LOOPING); if (FAILED(err)) { stop_mixer_thread(); throw Exception("Could not start sound buffer playback"); } }
CL_SoundOutput_OSS::~CL_SoundOutput_OSS() { stop_mixer_thread(); }
CL_SoundOutput_MacOSX::~CL_SoundOutput_MacOSX() { stop_mixer_thread(); }