inputLatencyMs

Measured/reported audio input latency in milliseconds — the delay between audio entering the microphone and being delivered to the application.

Already accounted for in AudioBuffer.timestamp by the OS audio engine's hardware-clock timestamps (Android AudioRecord.getTimestamp; iOS AVAudioTime.hostTime). The buffer timestamp is the actual capture moment at the mic, so consumers correlating recorded audio with a player timeline should use AudioBuffer.timestamp directly (or, for player-time alignment, pass it to SonixPlayer.audibleTimeMsAtWallNanos) and should not subtract this value again — doing so would double-compensate.

Exposed here for diagnostics and telemetry, and as a fallback estimate on devices where the OS hardware timestamp is unavailable. Symmetric with SonixPlayer.outputLatencyMs, which is similarly already folded into SonixPlayer.currentTime.

  • Android: Approximated at runtime as wall-clock arrival minus the hardware capture time of the first read; returns 0 before that read completes.

  • iOS: Obtained from AVAudioSession.inputLatency once the audio session is configured (available without active recording).