[pulseaudio-discuss] Slashdot/Article slamming PA.
Cristian Morales Vega
cmorve69 at yahoo.es
Fri Jun 19 16:27:22 PDT 2009
2009/6/20 Colin Guthrie <gmane at colin.guthr.ie>:
> Thought I'd point out this:
> Linked from
> Lennart, if you have time, it may be worth writing up clearly why you
> disagree with some of the points here. When done it would be worth posting
> it as a follow up on Slashdot.
The author of the article is one of the main developers of ZSNES, and
contributor to BSNES audio outputs. I was one of the people fixing
ALSA output in BSNES, and even if he never gave any details about on
which hardware he had problems, it's easy to see why he feels as he
feels about ALSA.
- Until Lennart started to complain in the ALSA ML, the
snd_pcm_avail_update() vs snd_pcm_delay() documentation was at least
confusing. I did it wrong until I saw Lennart messages. Meaning...
it's true, ALSA docs aren't really good, and they were even worse.
- The we don't use the bug tracker and bug reports get losed in the ML
continues being true in the ALSA ML. I could confirm that using the
simple initialization API of ALSA sound didn't work with a specific
frequency in a HDA Intel codec (did in a SB Live!)... using the old
API worked. Reported, got some answers but never got fixed.
- Even once fixed the author of the article reported problems in some
of his machines.
Now Ubuntu gets PA. No problem, bsnes has the ALSA API... but the
pulse ALSA plugin makes bsnes block after some time and users
complain. I write a message with the little info I could get about the
problem (but it seems there is a real problem there, that triggers
more in bsnes only because in has a high CPU usage and the bug seems
to happen when there are a lot of underruns.. not sure if is in ALSA,
PA or ALSA pulse plugin). I write a message to ALSA ML with Lennart
CC... never got an answer.
So devs decide to write a PA backend. Works, but since they use the
simple API they get a LOOOOT of latency. I write to this ML and
Lennart changes the default behavior so the full latency, instead of
the internal server buffer is set with the simple API. I make some
tests, but reading the docs isn't clear to me if the buffer size is
specified in samples, frames, bytes or what... I decide I will test
again once the change Lennart did gets to the PA packaged in my
distro. So, at this point bsnes still doesn't works with PA.
...meanwhile, just to make it funnier, the libao documentation was
wrong about the latency units, I had to look in the source code to get
Add to it that OSS4 worked without problems for the article's author
and you can understand his feelings. One can look at BSNES sound
output backends code... it's really simple, and there should not be so
More information about the pulseaudio-discuss