Found this just after I sent the email: To make sure that a particular stream doesn't stop to play when a server > side buffer underrun happens on it while the other synchronized streams > continue playing and hence deviate, you need to pass a "prebuf" > pa_buffer_attr of 0 when connecting it. from http://freedesktop.org/software/pulseaudio/doxygen/streams.html#sync_streams I tried setting `prebuf` to 0 instead of `(uint_t) -1` and it looks like that did the trick. On Sat, Apr 4, 2015 at 8:06 PM, Andrew Kelley <superjoe30 at gmail.com> wrote: > I have a program which plays an audio file with some filtering using the > PulseAudio asynchronous API. When the CPU usage spikes elsewhere in my > computer, for example if I do `make -j` to use up all processing power, the > filter code runs a little slow and might cause a buffer underrun. Sometimes > this causes PulseAudio to stop calling the write callback. I checked and I > am certainly calling `begin_write` and `write` for each time that the write > callback is called. > > How can I ensure that PulseAudio continues to call the write callback? > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150404/dbd74060/attachment.html>