[pulseaudio-discuss] write callback stops getting called

Andrew Kelley superjoe30 at gmail.com
Sat Apr 4 20:14:07 PDT 2015


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>


More information about the pulseaudio-discuss mailing list