diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-07 23:26:51 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-04-07 23:26:51 -0600 |
commit | 78a66b71803bda9157ef361d815f3b148cec5a8d (patch) | |
tree | e15d31659a842bdd1af475da1a4defbb6909bc35 /libs | |
parent | ec9784764c9996a3af15459b1f9425f3eeb95d92 (diff) |
improved port cleanup as backend is destroyed
Diffstat (limited to 'libs')
-rw-r--r-- | libs/backends/alsa/alsa_audiobackend.cc | 2 | ||||
-rw-r--r-- | libs/backends/coreaudio/coreaudio_backend.cc | 3 | ||||
-rw-r--r-- | libs/backends/jack/jack_audiobackend.cc | 1 | ||||
-rw-r--r-- | libs/backends/portaudio/portaudio_backend.cc | 2 | ||||
-rw-r--r-- | libs/backends/pulseaudio/pulseaudio_backend.cc | 2 |
5 files changed, 10 insertions, 0 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.cc b/libs/backends/alsa/alsa_audiobackend.cc index 81e79669fd..ffb1f6a6fa 100644 --- a/libs/backends/alsa/alsa_audiobackend.cc +++ b/libs/backends/alsa/alsa_audiobackend.cc @@ -89,6 +89,8 @@ AlsaAudioBackend::AlsaAudioBackend (AudioEngine& e, AudioBackendInfo& info) AlsaAudioBackend::~AlsaAudioBackend () { + clear_ports (); + pthread_mutex_destroy (&_port_callback_mutex); pthread_mutex_destroy (&_device_port_mutex); } diff --git a/libs/backends/coreaudio/coreaudio_backend.cc b/libs/backends/coreaudio/coreaudio_backend.cc index 7afc40183e..2c4e03e116 100644 --- a/libs/backends/coreaudio/coreaudio_backend.cc +++ b/libs/backends/coreaudio/coreaudio_backend.cc @@ -129,6 +129,9 @@ CoreAudioBackend::~CoreAudioBackend () { delete _pcmio; _pcmio = 0; delete _midiio; _midiio = 0; + + clear_ports (); + pthread_mutex_destroy (&_port_callback_mutex); pthread_mutex_destroy (&_port_registration_mutex); pthread_mutex_destroy (&_process_callback_mutex); diff --git a/libs/backends/jack/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc index d33d3d6c5f..254dfa4147 100644 --- a/libs/backends/jack/jack_audiobackend.cc +++ b/libs/backends/jack/jack_audiobackend.cc @@ -72,6 +72,7 @@ JACKAudioBackend::JACKAudioBackend (AudioEngine& e, AudioBackendInfo& info, boos JACKAudioBackend::~JACKAudioBackend() { + _jack_ports.clear (); } string diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc index ba72910d44..779bfc423b 100644 --- a/libs/backends/portaudio/portaudio_backend.cc +++ b/libs/backends/portaudio/portaudio_backend.cc @@ -106,6 +106,8 @@ PortAudioBackend::~PortAudioBackend () delete _pcmio; _pcmio = 0; delete _midiio; _midiio = 0; + clear_ports (); + pthread_mutex_destroy (&_port_callback_mutex); pthread_mutex_destroy (&_freewheel_mutex); pthread_cond_destroy (&_freewheel_signal); diff --git a/libs/backends/pulseaudio/pulseaudio_backend.cc b/libs/backends/pulseaudio/pulseaudio_backend.cc index d16ea73bf2..2af182a94e 100644 --- a/libs/backends/pulseaudio/pulseaudio_backend.cc +++ b/libs/backends/pulseaudio/pulseaudio_backend.cc @@ -69,6 +69,8 @@ PulseAudioBackend::PulseAudioBackend (AudioEngine& e, AudioBackendInfo& info) PulseAudioBackend::~PulseAudioBackend () { + clear_ports (); + pthread_mutex_destroy (&_port_callback_mutex); } |