I have a very simple audio graph, using AVAudioEngine, with a single AVAudioPlayerNode.
The setup is rather straightforward :
- alloc/init the engine
- alloc/init the audio player node
- attach the player node to the graph
- connect the player node to the engine's output node
This last step constatly crashes whenever the system audio output is a mutiple output device or an aggregate audio device.
The exception logs this in the console :
[General] An uncaught exception was raised
[General] required condition is false: isInput ? auv3().canPerformInput : auv3().canPerformOutput
Anyone knows how to handle this ?
The crash occurs when the code try to access the engine's output node (which is created in the process)
You can reproduce this in a playground with 3 lines of code, after creating an aggregate device, and selecting it for audio output.
import AVFoundation
let engine = AVAudioEngine()
let output = engine.outputNode
Thanks for any tips