The note for function setSampleRateConversionQuality
/**
* Specify the quality of the sample rate converter in Oboe.
*
* If set to None then Oboe will not do sample rate conversion. But the underlying APIs might
* still do sample rate conversion if you specify a sample rate.
* That can prevent you from getting a low latency stream.
*
* If you do the conversion in Oboe then you might still get a low latency stream.
*
* Default is SampleRateConversionQuality::None
*/
What does this sentence mean?
"If set to None then Oboe will not do sample rate conversion. But the underlying APIs might still do sample rate conversion if you specify a sample rate"
If I set SampleRateConversionQuality = None ,the sample rate still can be modify by Oboe?
If yes, What condition cause this happen?
No, Oboe will not do sample rate conversion in this case.
The "underlying APIs" is referring to the Android audio framework which may perform resampling if you specify a sample rate which does not match the native sample rate of the underlying audio hardware. If the Android audio framework does the resampling you will not get a low latency stream.
This is why resampling was introduced in Oboe. It means that Oboe can resample your audio data so that the audio framework doesn't have to, and means that you can get a low latency stream with a specific sample rate.