On 02/07/15 17:30, Tobias Hoffmann wrote:
On 02/07/15 15:38, Paul Davis wrote:
jack_transport is not intended to act as a the
time master.
Well, comparing example-clients/transport_client.c and
tools/transport.c, I'd say the one big difference between the two is
that tools/transport.c (aka jack_transport) can act as a *simple*
timebase master...
Ok, I see now that the BBT update algorithm (in the "else" branch in
timebase()) in transport.c is quite broken, because it accumulates
rounding errors. However always using the first, recalculating branch
(basically: if (true)) seems to be stable -- or at least: better than
Hydrogen's timebase master, which updates the BBT only every few
cycles... (I've read that somewhere a completely rewritten Jack Master
implementation for Hydrogen is available, which I have not tested yet).
I find it quite sad that even some code distributed in the jack tarball
is an example of how NOT to use the Jack API ...
Tobias