Pulse audio

Remco remco47 at gmail.com
Sat Oct 10 23:04:21 UTC 2009


2009/10/10 Lukas Hejtmanek <xhejtman at ics.muni.cz>:
> On Thu, Oct 08, 2009 at 04:52:43PM -0400, Daniel Chen wrote:
>> I'm not surprised that ALSA "did everything [you] ever wanted from
>> it." However, it does not change that there were latent bugs. Clearly
>> they existed despite ALSA working for you.
>
> hmm, let me see. ALSA is broken. OK. How do we fix it? Insert new layer
> between ALSA and Apps. (PA). Oh no, PA is also broken. (as you stated that PA
> sooner or later solves its problems). So I should ask, why should we fix PA rather
> than fix ALSA?

I'm no expert on the field, but here is how I understand it:

ALSA is not broken. The kernel part is used to talk to devices and to
give a low level API to userland. This works very well. But the
userspace ALSA library is not sufficient for modern needs. ALSA
doesn't do audio over networking or Bluetooth, since those things
can't be done in the kernel (as a policy). A layer was *missing*. The
ALSA userspace library could have been hacked up to meet these
requirements, but you'd get something similar to PulseAudio. It's a
necessary layer.

In addition there was the sound server mess. You'd have plain ALSA,
plain OSS, ESD, Arts, and none were compatible with each other. If we
just call PulseAudio good, and all start using it (which has
happened), then that problem is solved. In the mean time there are a
few emulation layers with varying degree of workingness, but it's a
matter of time before those are obsolete or fixed.

And since the OSS API is a bad idea according to the PA developers,
people like me who like the open/close/read/write simplicity of OSS
can instead just use the PulseAudio Simple API, which is essentially
the OSS API. ;)

http://0pointer.de/lennart/projects/pulseaudio/doxygen/simple.html

-- 
Remco




More information about the Ubuntu-devel-discuss mailing list