[pulseaudio-discuss] PulseAudio/alsa_plugins bugs without Wine

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Thu Jan 5 03:55:08 PST 2012


David Henningsson wrote:

>in Oneiric (and PulseAudio 1.0)
Do you mean "in PA 1.0, which is the one included in Oneiric"?
Or do you really mean Ubuntu-specific patches?
Or simply a backport of 1.0 into Oneiric?


>[...caused by the asynchronous nature of PulseAudio...]
Very interesting read, thank you.

I'll summarize your explanation saying that XRUN mode is not reliable in PA < 1.0.

A few month ago, we had ALSA run in what I call streaming or nonstop mode, i.e.
with stop_threshold = boundary and some values of silence_size&threshold.

Would you recommend using the nonstop mode with PA?

We reverted that for several reasons as it didn't work well with ALSA in general (I can't
remember exactly, but to detect underruns it needs reliable avail_update > buffer_size,
also I remember issues with dmix when trying snd_pcm_forward to catch up after
an underrun, as well as dmix' behaviour of playing silence while catching up, which
explains why people hear silence despite megabytes fed to ALSA -- it was simply
considered too late, e.g. snd_pcm_delay < 0).

Yet I could imagine changing Wine to behave as follows:
if pulse is detected as the ALSA plugin backend, use nonstop mode and rely on
avail_update>buffer_size to detect underruns; otherwise rely on XRUN.

Underrun detection and recovery is an essential requirement for producing sound reliably.

Regards,
 Jörg Höhle


More information about the pulseaudio-discuss mailing list