The documentation for -[AVAudioIONode presentationLatency] states that it accounts for both kAudioDevicePropertyLatency and kAudioStreamPropertyLatency.
On my MBP the following values are reported for the speakers in the output scope:
kAudioDevicePropertyLatency: 11
kAudioStreamPropertyLatency: 390
At the device's nominal sample rate of 44.1 kHz that equates to approximately 9.09 msec.
However, the output node on a running AVAudioEngine reports presentationLatency as approximately 0.25 msec. This appears to be the device latency only.
Is it necessary to compensate for the stream latency manually despite the documentation?