Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

jack_iodelay(1) [debian man page]

JACK_IODELAY(1) 					      General Commands Manual						   JACK_IODELAY(1)

NAME
jack_iodelay - JACK toolkit client to measure roundtrip latency SYNOPSIS
jack_iodelay DESCRIPTION
jack_iodelay will create one input and one output port, and then measures the latency (signal delay) between them. For this to work, the output port must be connected to its input port. The measurement is accurate to a resolution of greater than 1 sample. The expected use is to connect jack_iodelay's output port to a hardware playback port, then use a physical loopback cable from the corre- sponding 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. 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. Once jack_iodelay completes its measurement it will print the total latency it has detected. This will include the JACK period 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 vary aspects of the signal path to see their effect on the measured latency. If no incoming signal is detected from the input port, jack_iodelay will print Signal below threshold... . every second until this changes (e.g. until you establish the correct connections). 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. AUTHOR
Originally written in C++ by Fons Adriensen, ported to C by Torben Hohn. 0-122-0 September 2012 JACK_IODELAY(1)

Check Out this Related Man Page

lgrp_latency(3LGRP)													       lgrp_latency(3LGRP)

NAME
lgrp_latency, lgrp_latency_cookie - get latency between two lgroups SYNOPSIS
cc [ flag... ] file... -llgrp [ library... ] #include <sys/lgrp_user.h> int lgrp_latency_cookie(lgrp_cookie_t cookie, lgrp_id_t from, lgrp_id_t to, lgrp_lat_between_t between); int lgrp_latency(lgrp_id_t from, lgrp_id_t to); The lgrp_latency_cookie() function takes a cookie representing a snapshot of the lgroup hierarchy obtained from lgrp_init(3LGRP) and returns the latency value between a hardware resource in the from lgroup to a hardware resource in the to lgroup. If from is the same lgroup as to, the latency value within that lgroup is returned. The between argument should be set to the following value to specify between which hardware resources the latency should be measured: LGRP_LAT_CPU_TO_MEM /* latency from CPU to memory */ The latency value is defined by the operating system and is platform-specific. It can be used only for relative comparison of lgroups on the running system. It does not necessarily represent the actual latency between hardware devices, and it might not be applicable across platforms. The lgrp_latency() function is similiar to the lgrp_latency_cookie() function, but returns the latency between the given lgroups at the given instant in time. Since lgroups can be freed and reallocated, this function might not be able to provide a consistent answer across calls. For that reason, the lgrp_latency_cookie() function should be used in its place. Upon successful completion, the latency value is returned. Otherwise -1 is returned and errno is set to indicate the error. The lgrp_latency_cookie() and lgrp_latency() functions will fail if: EINVAL The specified cookie, lgroup ID, or value given for the between argument is not valid. ESRCH The specified lgroup ID was not found, the from lgroup does not contain any CPUs, or the to lgroup does not have any mem- ory. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ lgrp_init(3LGRP), lgrp_parents(3LGRP), lgrp_children(3LGRP), liblgrp(3LIB), attributes(5) 26 Jan 2005 lgrp_latency(3LGRP)
Man Page