Re: Polypaudio for Gnome 2.10, the next steps



On Tue, 23.11.04 18:55, Colin Walters (walters redhat com) wrote:

> 
> On Tue, 2004-11-23 at 23:46 +0000, Iain * wrote:
> 
> > If I'm using Ardour, or Audacity, or Marlin (snigger) I don't want
> > gaim going "pling" every few seconds. In fact, if I'm using pro audio
> > tools, the chances are I'm not going to be running much else other
> > than my pro audio app. From what I've seen of how pro audio people
> > work, they have as little as possible running on their system.
> 
> I am not a pro audio person, but it seems to me that it's a broken by
> design to make them *inherently* incompatible.  Secondly - do you really
> expect pro audio people to manually quit every other application like
> gaim, turn off sound events, etc?  If they're using polypaudio, then the
> polypaudio daemon will be holding the sound device, so to start their
> app they'll have to hunt down every other possible user and close
> it.

One of the nifty cool features of polypaudio is module auto loading
and unloading. i.e. a client wants to create a playback stream to an
audio sink of the polypaudio server. The polypaudio server then looks
if that sink is currently available. If not, it makes a quick lookup
in the module autoloading table and magically loads the right audio
driver. Some time after the module becomes unused, polypaudio unloads
it again automatically. That time may be set to 0 seconds, i.e. the
module is unloaded immediately after the last client quit. That way
polypaudio doesn't block your sound device unless you really use it.

In addition you may autospawn the daemon itself when it is
needed. esd already had such a feature, but unfortunately it was
broken, because it didn't provide any sensible locking to make sure
that not more than one client tries to spawn the daemon at the same
time. Polypaudio does corretc locking. That means that you can spawn
polypaudio only on demand, and have it quit immediately when it
becomes unused. (However, when polypaudio isn't running nobody can
connect to polypaudio over the network.)

Lennart

-- 
name { Lennart Poettering } loc { Hamburg - Germany }
mail { mzft (at) 0pointer (dot) de } gpg { 1A015CC4 }  
www { http://0pointer.de/lennart/ } icq# { 11060553 }



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