In an iOS application, the minimum buffer duration of 4 milli seconds is required. But the Audio toolbox framework provides, 23 milli seconds for 16kHz, mono channel configuration. i.e. it gives 742/744 bytes at each input callback.
How to make the callback data size as, 128 bytes (4 milli seconds)?
Whether the internal mic (16kHz) or external mic (44.1 kHz) is used, the received callback size is 742/744 bytes (16kHz) only. Not clear about this behavior.
Whereas, in 'AudioUnit' framework, the callback data size gets corrupted, when an extenal mic (44.1 kHz) is connected.