PulseAudio/alsa_plugins bugs without Wine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux