[pulseaudio-discuss] PulseAudio/alsa_plugins bugs without Wine
David Henningsson
david.henningsson at canonical.com
Thu Jan 5 10:10:17 PST 2012
On 01/05/2012 12:55 PM, Joerg-Cyril.Hoehle at t-systems.com wrote:
> David Henningsson wrote:
>
>> in Oneiric (and PulseAudio 1.0)
> Do you mean "in PA 1.0, which is the one included in Oneiric"?
Yes, PulseAudio 1.0, and an alsa-plugins package that makes use of the
new information, are both included in Oneiric. Sorry for the ambiguity.
> 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?
I feel I know too little about wine to give a recommendation, but I'd
think that wine is a big enough project to justify a pulseaudio driver,
one that talks to PulseAudio directly without passing through the
ALSA-Pulse plugin. If that is not an option, I'd suggest relying on the
XRUN message for PulseAudio 1.0 and not relying on XRUN for PulseAudio <
1.0. If there still are XRUN related bugs in PulseAudio 1.0, we should
try to sort them out.
> 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.
For some applications, yes.
--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
More information about the pulseaudio-discuss
mailing list