Re: [linux-audio-dev] LAAGA - key issues

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] LAAGA - key issues
From: Jim Peters (jim_AT_aguazul.demon.co.uk)
Date: Sat Apr 28 2001 - 12:29:41 EEST


Kai Vehmanen wrote:
> * LAAGA should provide full synchronation (all apps are always
> in perfect sync + means for issuing start/stop/etc commands).

I was thinking a little more around this idea of an audio server.
Basically this is the timing-critical process, and it hosts all the
plugins. Its job is to keep up with the soundcard, and that is all.
If it tries to keep in sync with external processes, then this is
going to be a problem. Really, if an external process (application,
whatever) needs to be synchronised with the hardware, it should
provide a plugin, and instruct the audio server to load that plugin.
In that way the application is split into a non-critical part (its
main process) and a critical part (the plugin loaded into the audio
server). This means that it is not necessary for the audio server to
be synchronised with anything except the hardware.

Certain types of applications will probably not need to provide
plugins - for example a simple record-to-disk application can lag a
little behind real-time so long as the intermediate buffer is big
enough to cope. Similarly an MP3 player can get a little ahead of
real-time. Both of these would probably benefit from their own
plugin, though, for maximum control.

As you suggest, circular buffers in shared memory are easy to set up
in a lock-free manner, just requiring some overrun handling if space
is exhausted. (I have some code for this).

> 2. Requirements, part II (need discussion)
>
> * Should it be possible to be able to make LAAGA connections
> between already running apps? The other alternative is
> that clients are compiled as plugins and instantiated
> by the server.
> * Should it be possible to add and remove clients when the
> server is running?

Yes to both, I think. I would suggest that both alternatives for
point one be used together.

Jim

-- 
 Jim Peters         /             __   |  \              Aguazul
                   /   /| /| )| /| / )||   \
 jim_AT_aguazul.      \  (_|(_|(_|(_| )(_|I   /        www.aguazul.
  demon.co.uk       \    ._)     _/       /          demon.co.uk


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Apr 28 2001 - 13:19:49 EEST