diff --git a/libs/backends/pulseaudio/pulseaudio_backend.cc b/libs/backends/pulseaudio/pulseaudio_backend.cc index f1923b1097..e6b678e225 100644 --- a/libs/backends/pulseaudio/pulseaudio_backend.cc +++ b/libs/backends/pulseaudio/pulseaudio_backend.cc @@ -649,6 +649,10 @@ PulseAudioBackend::stop () } _run = false; + + pa_threaded_mainloop_lock (p_mainloop); + sync_pulse (pa_stream_flush (p_stream, stream_operation_cb, this)); + if (pthread_join (_main_thread, &status)) { PBD::error << _("PulseAudioBackend: failed to terminate.") << endmsg; return -1;