[maemo-developers] [maemo-developers] Audio on scratchbox and 770

From: Ralph Giles giles at xiph.org
Date: Sat Feb 4 06:11:43 EET 2006
On Sat, Feb 04, 2006 at 04:18:02AM +0100, Danny Milosavljevic wrote:

> I don't understand why esound is still around at all (even on desktops).
> What good does it do?

IIRC the story went something like this: Most desktop (and perhaps 
otherwise) applications would would like to be able to just play
a sound when they want to. The expected behavior is for this to
be mixed into the output channel so that e.g. ui feedback sounds
just overlay the output of a music player. But, /dev/dsp can only
be written to by one process. This is because (a) having multiple
open behavior would be break some applications that assume only
one process can hold a write lock, (b) it's a denial of service
opportunity since a hostile process could easily tie up lots of
kernelspace cpu by submitting more streams for mixing than the
hardware supports, forcing fallback to software mixing which (c)
doesn't belong in kernel space anyway ("multimedia is icky").

Ergo, we must have a server process in userspace that arbitrates
access to the kernel sound device, holding the write lock and
accepting streams for mixing over IPC. esd is the most popular
of such programs, and because the IPC interface means custom
code, it's become entrenched.

I believe since about mid-2005, ALSA started doing something like
what the kernel developers declined to do in OSS, so (at least
for sound cards with a reasonably capable hardware mixer, and
possibly with hooks into a userspace software mixer for fallback--
I'm hazy on the details) things work as you'd "expect". ESD is
therefore expected to fade away over the next 5 years or so as
support for the older kernel configs is dropped.

FWIW,
 -r


More information about the maemo-developers mailing list