Second question on AVAudioEngine - not sure if anyone will be able to answer..
There is generally something very odd with it on macOS and the documentation is little help..
I have a setup where if the channel count of my default input device is greater than the channel count of my default output device no audio will come from the engine. I can see from a tap that audio is reaching the output node, but nothing actually comes out.
Looking at it again, it appears that the issue is more that if my default input device has outputs available then the default output device is ignored. When setting the default output device to a device with both inputs and outputs, but with a "normal' default input device results in expected behaviour (audio comes in and audio goes out)
I can't see any examples that offer much help - so other than buffering the data and playing back from an additional audioEngine is there a way to fix this?