Re: [linux-audio-dev] Jack and block-based algorithms (was: Reborn)

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

Subject: Re: [linux-audio-dev] Jack and block-based algorithms (was: Reborn)
From: Anders Torger (torger_AT_ludd.luth.se)
Date: Wed Aug 14 2002 - 16:36:58 EEST


On Wednesday 14 August 2002 15.23, you wrote:
> >> sync. this is a natural consequence to using a "push" model ("i'm
> >> the client, and i'll work when and for as long as i choose") as
> >> opposed to a "pull" model ("hey client: do this much work right
> >> now").
> >
> >How does the pull model work with block-based algorithms that cannot
> >provide any output until it has read a block on the input, and thus
> >inherently has a lower bound on delay?
>
> the client has to use an intermediate buffer, and fills it with
> silence to start with. its process() callback fetches data from that
> buffer. the non-JACK part of the client fills the buffer. use of a
> lock-free ringbuffer is encouraged.
>
> this is precisely the design that has been mentioned in connection
> with adding latency. its the same design that all VST/TDM/DirectX/MAS
> etc. FFT-based plugins use, to the best of my knowledge.

Ok, I do that already, but only for clocked devices (that is sound
cards), since I thought for transfers to files or between applications
these first null samples would be seen as junk and should rather not be
there... but I suppose it is the price one has to pay.

/Anders Torger


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

This archive was generated by hypermail 2b28 : Wed Aug 14 2002 - 16:38:21 EEST