diff options
author | Robin Gareus <robin@gareus.org> | 2019-07-26 21:38:40 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-07-26 21:38:40 +0200 |
commit | 8a969b56c944c84d42b712fc8759b7d1f276e7da (patch) | |
tree | 2550d205910f81db1c0d24cf222b3a91d2593393 /libs/backends/pulseaudio/pulseaudio_backend.cc | |
parent | 0717c4c71a36b27f54b6ef59823dca1ed1a139d5 (diff) |
PA-backend: Flush buffer and wake up main thread at stop
Diffstat (limited to 'libs/backends/pulseaudio/pulseaudio_backend.cc')
-rw-r--r-- | libs/backends/pulseaudio/pulseaudio_backend.cc | 4 |
1 files changed, 4 insertions, 0 deletions
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; |