[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-audio-dev
Subject: Re: [linux-audio-dev] Lots about latency and disk i/o and JACK...<g>
From: Kai Vehmanen <kai.vehmanen () wakkanet ! fi>
Date: 2001-10-03 22:40:07
[Download RAW message or body]
On Wed, 3 Oct 2001, John Lazzaro wrote:
>> If an application uses a callback model, and even better, if it uses
>> JACK's callback model, then it can send and receive data to and from
> It took around 3 weeks of design and coding to set sfront up to handle
> audio drivers that used callbacks -- so for some sorts of applications,
> at least, its a pretty straightforward retrofit. The sfront changes were
True. And I don't think using callbacks is actually the big thing in LAAGA
- it's synchronous operation. Basicly it's just the same whether:
(1) - client has registered callbacks (client app)
- library sleeps on socket (libjack.so)
- wake up (libjack.so)
- call registered client callback (libjack.so)
- execute the callback (client app)
... or ...
(2) - client issues a blocking library call (client app)
- in the function, we sleep on a socket (libjack.so)
- wake up (libjack.so)
- return from the blocking call (libjack.so)
- do processing and issue another blocking call (client)
So no real difference there. The really important features are:
- only one component is active at a time (not including
separate disk i/o, midi i/o, etc subsystems)
- it's an error condition if next component in
the execution chain a) is not ready for wakeup
when its turn comes, or b) is not able to complete
its turn in time
- because of the above requirements, a system-wide
blocksize and sample-rate must be used
--
http://www.eca.cx
Audio software for Linux!
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic