[LAD] Some questions about the Jack callback

Will Godfrey willgodfrey at musically.me.uk
Fri Sep 19 21:23:26 UTC 2014

On Fri, 19 Sep 2014 20:58:58 +0000
Fons Adriaensen <fons at linuxaudio.org> wrote:

> On Fri, Sep 19, 2014 at 09:44:44PM +0100, Will Godfrey wrote:
> > Just trying to get a clearer understand so hope these aren't too noob-ish.
> > 
> > If you have several processes wanting to send audio, does the callback go to all
> > of them at (essentially) the same time, or does Jack poll them?
> > 
> > If the former, is it the quickest to complete that gets processed first?
> > 
> > If the latter, does Jack maintain the same order (assuming none stop) or might
> > it change between buffers?
> Jack (all versions) will call the client calbacks in an order
> that depends only on their connections, i.e. on the way each
> client depends on input from any others.
> The difference between Jack 1 and 2 is that Jack2 may call
> clients in parallel on an SMP machine *if the dependencies
> allow this*, while Jack1 will not do this.
> > I've a few more questions but they depend on whether either of these
> > scenarios is correct! 
> Just ask. But be assured that Jack does the right thing
> whatever.

Thanks Fons. This is rather as I suspected. Now...

Assuming buffer size and sample rate give 10.7 mS overall.

Do the clients know when in the time frame they are actually called?

Say we have A, B & C in that order and B&C each take 3mS to return but A takes
6mS. Does C get booted out even though it was A that was the time hog?

> Ciao, (*)
> (*) Back in Parma for the WE. When I return to Muenchen
> it will be 'Tschuss' instead.

Will J Godfrey
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.

More information about the Linux-audio-dev mailing list