[LAD] JACK transport timebase and its callback

Paul Davis paul at linuxaudiosystems.com
Mon Oct 20 11:42:48 UTC 2008

On Mon, 2008-10-20 at 13:33 +0200, Julien Claassen wrote:
> Hello!
>    I just read through the JACK transport section in the JACK reference again. 
> If you want to be timebase-master you can (or must) supply a callback function 
> to update the time-info.
>    Does my program need audio thread (a process function?)

No. JACK will call your timebase callback at the right time.

>  Which timing source 
> is used to update the time?

that is up to you. it could be MTC, some other form of timecode, a
wallclock, NTP or whatever you want. keep in mind that JACK does not
support varispeed (a decision made long ago to avoid burdening every
JACK-transport app with very difficult implementation issues).

>  Does my program provide it or does JACK provide it 
> and my program only really kicks in when I want to relocate (jump to another 
> position)?

no, if your client elects to be time master then it is responsible for
updating the time every process cycle.

>    I am correct in assuming, that my code doesn't have to be multithreaded (at 
> least not look multithreaded) if I want to use the JACK transport interface 
> (control and timebase)?

JACK will create a thread for you, you just supply the callback. The
callback will be called from the JACK-created thread, so you need to be
aware of this.

More information about the Linux-audio-dev mailing list