Oboe 1.9 changed how it handles a requested sample rate that differs from the device's native rate: the resampler now runs on a separate thread for streams opened in low-latency mode. We measured callback intervals on five phones with a 256-frame buffer at 48 kHz and a requested 44.1 kHz stream.

Three phones improved: the 99th percentile callback interval fell from 9.8 ms to 6.1 ms on the oldest device, and from 4.2 ms to 3.4 ms on a 2024 flagship. Two phones were unchanged within noise, both of which report 44.1 kHz as a native rate and therefore never hit the resampler at all.

The practical advice is unchanged: request the device's native rate, use PerformanceMode::LowLatency, and measure. The release notes are worth reading for the new getFramesPerCallback() behaviour, which now reports the value the stream was opened with rather than the last callback size.