I have an AUGraph setup and working, it consists of a multichannel mixer (with a single monophonic input) feeding a RemoteIO (kAudioUnitSubType_RemoteIO
) unit to output to the speaker. I implemented the single input mixer in order to be able to pan my audio source between Left and Right hardware output channels. This works just fine.
As this is a VOIP application, I have been experimenting with using a Voice-processing IO Unit (kAudioUnitSubType_VoiceProcessingIO
) in place of the Remote IO Unit (kAudioUnitSubType_RemoteIO
). Per Apple's description, this unit should behave like a Remote IO unit with some extra features...
The Voice-Processing I/O unit (subtype
kAudioUnitSubType_VoiceProcessingIO
) has the characteristics of the Remote I/O unit and adds echo suppression for two-way duplex communication. It also adds automatic gain correction, adjustment of voice-processing quality, and muting. This is the correct I/O unit to use for VoIP (Voice over Internet Protocol) apps.
But I am noting that when I switch to the Voice Processing IO Unit, I lose the ability to pan using the mixer. Any ideas as to what is going on here? Is the Voice Processing IO Unit inherently monophonic?