Nedko Arnaudov wrote:
From my knowledge, clock source is internal thing that
is global and not
per engine. Thus I've not exported it as engine parameter. Choosing the
way depends on how it actually works, something i'm not aware
yet. Having different engines (servers) to use different clock sources
is probably the right way (if possible at all).
Clock source is defined by the server and information about it is shared
to each client (through engine control shm block; jack_control_t). All
related instances have to use the same clock source.
Each instance then calls jack_set_clock_source() to set up function
pointer to the correct clock source (sometimes os and hw specific). This
is global per-instance variable. Applications also call this through
jack_get_microseconds().
jack_get_microseconds() is trying to provide as accurate as possible
monotonic clock with lowest possible overhead.
BR,
- Jussi Laako