OSX: API CoreAudio para configurar la longitud del búfer IO?

Este es un seguimiento de una pregunta anterior:OSX CoreAudio: ¿Cómo obtener inNumberFrames por adelantado, en la inicialización?

Estoy tratando de descubrir cuál será la API de AudioUnit para configurar posiblementeinNumberFrames oduración del búfer IO preferido de una devolución de llamada de entrada para un soloHAL audio co, instancia mponent enOSX (¡No es un complemento!). Si bien entiendo que hay una documentación completa sobre cómo se puede lograr esto en iOS, por medio deAVAudioSession API, no puedo averiguar ni encontrar documentación sobre cómo establecer estos valores en OSX, cualquiera que sea la API. La web está llena de declaraciones expertas, aunque conflictivas, que van desde "Hay una API de unidad de audio para solicitar una frecuencia de muestreo y una duración de búfer preferida ...", a "Definitivamente puede obtener el número de fotogramas, pero solo para la llamada de devolución de llamada actual ...".

¿Hay alguna manera de al menos obtener (y adaptarse)inNumberFrames o lalongitud del búfer de audio ofrecido por el sistema, para las tasas de muestreo seleccionadas por entrada en OSX? Por ejemplo, para 44.1k y sus múltiplos (esto parece funcionar en parte), así como para 48k y sus múltiplos (esto no parece funcionar en absoluto, no sé dónde está el truco que permite adaptar el búfer longitud a estos valores)? Aquí está la impresión de la consola:

Available 7 Sample Rates
Available Sample Rate value : 8000.000000
Available Sample Rate value : 16000.000000
Available Sample Rate value : 32000.000000
Available Sample Rate value : 44100.000000
Available Sample Rate value : 48000.000000
Available Sample Rate value : 88200.000000
Available Sample Rate value : 96000.000000

.mSampleRate          =   48000.00
.mFormatID            = 1819304813
.mBytesPerPacket      = 8
.mFramesPerPacket     = 1
.mBytesPerFrame       = 8
.mChannelsPerFrame    = 2
.mBitsPerChannel      = 32
.mFormatFlags         = 9
_mFormatHumanReadable = kAudioFormatFlagIsFloat 
    kAudioFormatFlagIsPacked 
    kLinearPCMFormatFlagIsFloat 
    kLinearPCMFormatFlagIsPacked 
    kLinearPCMFormatFlagsSampleFractionShift 
    kAppleLosslessFormatFlag_16BitSourceData 
    kAppleLosslessFormatFlag_24BitSourceData 

expectedInNumberFrames = 512

Couldn't render in current context (Error -10863)

El esperado inNumberFrames se lee del sistema:

UInt32 expectedInNumberFrames = 0;
UInt32 propSize = sizeof(UInt32);
AudioUnitGetProperty(gInputUnitComponentInstance,
                     kAudioDevicePropertyBufferFrameSize,
                     kAudioUnitScope_Global,
                     0,
                     &expectedInNumberFrames,
                     &propSize);

Gracias de antemano por señalarme en la dirección correcta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta