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

Re: What is ESD? (was: Esound and x11amp)


   On debian-devel, Josip Rodin <joy@cibalia.gkvk.hr> wrote:
   > Your tone was pretty much imperative. Sorry.

   That is OK, no hard feelings.

   > Tell me more about this ESD thing, I've never come across it, except
   > for the wishlist bug report against x11amp because of it. *grin*

   ESD is what The Network Audio System (NAS) wanted to be. Think of your print
   server. In the old days of Unix, there was no spooler. Somebody in the room
   would shout `Printer' before they printed to ensure nobody else printed at the
   same time. If they did the two printouts would be intermingled. So lpd was
   invented. Now instead of sending print jobs to /dev/lp0 they go to lpr which
   queues them. Problem solved. In the case of sound, at the moment before ESD or
   NAS only one program can use the sound hardware at a time. While it is using
   the hardware it is locked so only that application can use it. Take an
   example, say you are working away in an editor, listening to an MP3 file, when
   no mail comes in, your mail notifier tries to play a tune, but it can not
   because the MP3 player is hogging the sound card. In steps ESD, instead of
   sending sound directly to the sound card, both programs communicate their
   sound to ESD, it mixes them together digitally and sends them to the sound
   card, so you can have two different programs making different noises at the
   same time.

   ESD is `better' than NAS because the programming interface is easier. There is
   little change needed to move from opening /dev/dsp to sending the data to
   ESD; it is a lot harder to change the code to support NAS. ESD is network
   enabled so that it can run on a machine and accept sound requests across the
   network. To facilitate this it has caching abilities. In the case outlined
   about the mail notifier will have already cached its sound in ESD, when no
   mail comes in it just says to ESD play sound 7, or whatever.

FYI, there is one more sound daemon - AF



Reply to: