From 06b3d5ba33cfc8fbc3a81f62fa4998fdd0fa70fb Mon Sep 17 00:00:00 2001 From: Mads Kiilerich Date: Sun, 30 Oct 2022 21:08:52 +0100 Subject: [PATCH] PulseAudio: spin waiting for enough capacity to write pa_threaded_mainloop_wait might wake up for several reasons. And there is no point (but possibly harm) in moving on before we have verified that PA actually is ready to receive our write without overflow. --- libs/backends/pulseaudio/pulseaudio_backend.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/backends/pulseaudio/pulseaudio_backend.cc b/libs/backends/pulseaudio/pulseaudio_backend.cc index 2de046df65..76e38ca8a9 100644 --- a/libs/backends/pulseaudio/pulseaudio_backend.cc +++ b/libs/backends/pulseaudio/pulseaudio_backend.cc @@ -1040,7 +1040,7 @@ PulseAudioBackend::main_process_thread () pa_threaded_mainloop_lock (p_mainloop); size_t bytes_to_write = sizeof (float) * _samples_per_period * N_CHANNELS; - if (pa_stream_writable_size (p_stream) < bytes_to_write) { + while (pa_stream_writable_size (p_stream) < bytes_to_write) { /* wait until stream_request_cb triggers */ pa_threaded_mainloop_wait (p_mainloop); }