Measuring Input/Output latencies
Measuring Input/Output latencies
- Subject: Measuring Input/Output latencies
- From: Stéphane Letz <email@hidden>
- Date: Wed, 24 Aug 2011 12:57:40 +0200
Hi,
In the context of the JACK server, we are using a tool called "jack_iodelay" (developed by Fons Adriaensen) which allows to measure IO latency using a calibrated signal.
(more info on Fons Adriaensen code here: http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html)
1) We have measured the IO latency on two different cards:
==============================================
MacBook Pro Internal card (Built-in Input / Built-in Output):
==============================================
At 512 frames IO buffer, 44.1 kHz :
1181.934 frames 26.801 ms total roundtrip latency
extra loopback latency: 20 frames
At 512 frames IO buffer, 48 kHz :
1184.315 frames 24.673 ms total roundtrip latency
extra loopback latency: 23 frames
At 512 frames IO buffer, 88.2 kHz :
1242.453 frames 14.087 ms total roundtrip latency
extra loopback latency: 49 frames
At 512 frames IO buffer, 96 kHz :
1237.911 frames 12.895 ms total roundtrip latency
extra loopback latency: 44 frames
After one explicitly caused kAudioDeviceProcessorOverload:
At 512 frames IO buffer, 44.1 kHz :
7328.831 frames 166.187 ms total roundtrip latency ==> QUITE STRANGE!!
extra loopback latency: 6167 frames
Then this offset remains until we launch the JACK server again.
==============================================
MOTU 828 Mk2:
==============================================
At 512 frames IO buffer, 44.1 kHz :
1144.611 frames 25.955 ms total roundtrip latency
extra loopback latency: 57 frames
At 512 frames IO buffer, 88.2 kHz :
1192.875 frames 13.525 ms total roundtrip latency
extra loopback latency: 57 frames
After one explicitly caused kAudioDeviceProcessorOverload:
==> same values
So basically It seems that the Apple MacBook Pro Internal card does not resync correctly, and IO latency then gets huge.
Any idea why?
2) Measured latency differs from the driver reported latency, we were assuming that:
Input latency = Input latency safety offset + Input latency + IO buffer size
Output latency = IO buffer size + Output latency + Output latency safety offset
So global IO latency would be : Input latency safety offset + Input latency + 2 * IO buffer size + Output latency + Output latency safety offset
But we see this reported "extra loopback latency".
Does this value correspond to some additional ADC/DAC conversion latency?
Thanks.
Stéphane Letz
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden