summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorsletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-04-21 08:12:03 +0000
committersletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-04-21 08:12:03 +0000
commitd64bf92cc6dc8f022df9f4b9492b54ddf9d81fe1 (patch)
tree644a7aea5d14f93ef1841092a8caa89ccd63fbd4 /man
parent04f7bf87fdb5cfdae239cde08c9f4515491467e3 (diff)
parent15a862dc9cbad25e4229b949d008aa7aad9ee691 (diff)
downloadjack2-d64bf92cc6dc8f022df9f4b9492b54ddf9d81fe1.tar.gz
Merge branch 'newer-midi'
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4339 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'man')
-rw-r--r--man/jack_iodelay.041
1 files changed, 24 insertions, 17 deletions
diff --git a/man/jack_iodelay.0 b/man/jack_iodelay.0
index 007e65a1..d6a9f753 100644
--- a/man/jack_iodelay.0
+++ b/man/jack_iodelay.0
@@ -15,17 +15,17 @@ hardware playback port, then use a physical loopback cable from the
corresponding hardware output connector to an input connector, and to
connect that corresponding hardware capture port to jack_iodelay's
input port. This creates a roundtrip that goes through any
-analog-to-digital or digital-converters that are present in the audio
-hardware.
+analog-to-digital and digital-to-analog converters that are present in
+the audio hardware.
.PP
Although the hardware loopback latency is the expected use, it is also
possible to use jack_iodelay to measure the latency along any fully
connected signal path, such as those involving other JACK clients.
.PP
Once jack_iodelay completes its measurement it will print the total
-latency it has detected. This will include the JACK period length in
+latency it has detected. This will include the JACK buffer length in
addition to any other latency in the signal path. It will continue to
-print the value every 0.5 seconds or so so that if you wish you can
+print the value every 0.5 seconds so that if you wish you can
vary aspects of the signal path to see their effect on the measured
latency.
.PP
@@ -34,20 +34,27 @@ will print
.PP
\fT Signal below threshold... .\fR
.PP
-every second until this changes (e.g. until you establish the correct connections).
+every second until this changes (e.g. until you establish the correct
+connections).
.PP
To use the value measured by jack_iodelay with the -I and -O arguments
of a JACK backend (also called Input Latency and Output Latency in the
-setup dialog of qjackctl), you must subtract the JACK period size from
-the result. Then, if you believe that the latency is equally
-distributed between the input and output parts of your audio hardware
-(extremely likely), divide the result by two and use that for input
-and/or output latency value. Doing this measurement will enable JACK
-clients that use the JACK latency API to accurately position/delay
-audio to keep signals synchronized even when there are inherent delays
-in the end-to-end signal pathways.
+setup dialog of qjackctl), you must subtract the JACK buffer size from
+the result. The buffer size is determined by multiplying the number of
+frames per period (given to the jackd backend by the -p or --period
+option) by the number of periods per buffer (given to the jackd
+backend by the -n or --nperiods option). Note that JACK2 will add an
+implicit additional period when using the default asynchronous mode,
+so for JACK1 or JACK2 in synchronous mode, the buffer size is n*p, but
+for JACK2 in asynchronous mode the buffer size is (n+1)*p. Once the
+JACK buffer size is subtracted from the measured latency, the result
+is the "extra" latency due to the interface hardware. Then, if you
+believe that the latency is equally distributed between the input and
+output parts of your audio hardware (extremely likely), divide the
+result by two and use that for input and output latency
+values. Doing this measurement will enable JACK clients that use the
+JACK latency API to accurately position/delay audio to keep signals
+synchronized even when there are inherent delays in the end-to-end
+signal pathways.
.SH AUTHOR
-Originally written in C++ by Fons Adriensen, ported to C by Torben Hohn.
-
-
-
+Originally written in C++ by Fons Adriaensen, ported to C by Torben Hohn.