Reproducción remota de la unidad de audio iOS durante la grabación

Me han encargado que agregue VOIP en un juego (multiplataforma, así que no puedo usar el juego de Apple para hacerlo).

Desde hace 3 o 4 días, estoy tratando de envolver mi cabeza alrededor de la unidad de audio y el control remoto ... He pasado por alto decenas de ejemplos y demás, pero cada vez solo se aplica un algoritmo simple a la entrada PCM y se reproduce. de nuevo en el altavoz. De acuerdo con la documentación de Apple para hacer VOIP debemos usar kAudioSessionCategory_PlayAndRecord.

UInt32 audioCategory = kAudioSessionCategory_PlayAndRecord;

        status = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, 
                                         sizeof(audioCategory), 
                                         &audioCategory);
        XThrowIfError(status, "couldn't set audio category");

1) Pero parece (para mí) que playAndRecord siempre reproducirá lo que viene del micrófono (o más exactamente la devolución de llamada PerformThru //aurioTouch), Me equivoco ?

Tengo la devolución de llamada más simple, haciendo nada más que AURender

static OSStatus PerformThru(
                            void                        *inRefCon, 
                            AudioUnitRenderActionFlags  *ioActionFlags, 
                            const AudioTimeStamp        *inTimeStamp, 
                            UInt32                      inBusNumber, 
                            UInt32                      inNumberFrames, 
                            AudioBufferList             *ioData)
{
OSStatus err = AudioUnitRender(THIS->rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
    if (err) 
       printf("PerformThru: error %d\n", (int)err);
    return err
}

A partir de esa devolución de llamada, tengo la intención de enviar datos al interlocutor (no directamente, por supuesto, pero los datos provendrán de ella) ...

No veo cómo puedo reproducir una salida diferente a la entrada, excepto tal vez con 2 unidades, una grabación, una reproducción, pero parece que no fue lo que Apple pretendía (aún se está acumulando en la documentación).

Y, por supuesto, no puedo encontrar ninguna documentación al respecto, la unidad de audio aún no está documentada ...

¿Alguien tendría una idea de cuál sería la mejor manera de hacerlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta