latest CVS commit

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

latest CVS commit

Paul Davis
When port latencies were added to JACK, it wasn't anticipated that
clients would need to change them dynamically. Of course, this was a
mistake, and it turns out that Ardour (at least) has to adjust port
latency values when plugins on one of its tracks vary their reported
latency. However, setting the latency of a port does *not* update the
stored "total latency" figures that jackd computes whenever the graph
is reordered. This patch adds a new client request type,
RecomputeTotalLatencies, to JACK, plus a function in libjack that
allows clients to make the request. Ardour calls this function when it
determines that its track latencies have changed. The only alternative
that we could see on #ardour is to artificially change the graph
ordering, which is vastly more intrusive and expensive.

There is another bug fixed, one that I am suprised has not been
reported more often. If jackd gets an xrun or delayed wakeup on the
*first* iteration, it will segfault because it attempts to use current
and next wakeup values that have not yet been set for the sample clock
DLL. I changed this so that we check engine->first_wakeup before
time->reset_pending. I can't induce an xrun at such a time, and I
don't trust an artificial test of it. At least one JACK user (hi
Joeboy!) seems to be able to induce this repeatedly if he runs without

           * fix segfault if xrun happens before 1 normal process
           * jack_recompute_total_latencies (jack_client_t*) added to API
           * 0.99.71

I did not change the protocol number because as far as I can
determine, this change does not break clients linked with older
versions of libjack. This is required for a version change according


This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
Jackit-devel mailing list
[hidden email]