I have a Mac app hosting a single, custom effect unit attached to an AVAudioEngine. For input, it works with either a looped audio file, or live input from the Mac's selected audio input device. In either case, the audio signals are routed to the Mac's built-in (stereo) output. Two-channel operation works fine for either input selection. When playing back a six-channel audio file, the engine's mainMixerNode correctly downmixes the six-channel data to the stereo output. When working with live input, I am testing an 8-channel input device. With 8 channel input, the mainMixerNode seems to lose the signals and I get nothing at the output.
By installing taps on the relevant nodes, I have confirmed that there is valid data in the signals at the output of the audio unit, which is connected to the mainMixerNode, and that I am getting zeros at the output of the mainMixerNode.
I have confirmed that the signal is also lost using 8 channels for both input and output (on the same audio device).
I have tried employing a separate AVAudioMixerNode to handle the 8-to-2-channel downmix, and it also produces zeros at its output.
I can't see any reason for the signals to be lost. Is there a known bug in the AVAudioMixerNode? Has anyone else observed this?