AUGraph on iOS takes seconds to start again after a pause (stop) using TAAE

261 views Asked by At

My app is on iOS 8.3 (iPad and iPhone) and using The Amazing Audio Engine. I'm buffer loading 24 audio files and assigning their output to various channels on a connected USB audio device. Right now I'm testing with a Scarlett 2i|4, but this also happens on the Apogee Duet and two different PreSonus AudioBox units - the 44VSL and the 1818VSL.

The first time I call [engine play] aka AUGraphStart(graph), the playback begins immediately. Then I call [engine stop] aka AUGraphStop(). The next time I call [engine play] aka AUGraphStart(), it takes about 4 seconds before playback begins, and the channels on the USB device click a few times.

The channels also click a few times when the device is first plugged into the iPad or iPhone.

This issue does not happen on the Speakers or the Headphone routes -- only when a USB device is plugged in and used.

Any ideas why the AUGraphStart() call after AUGraphStop() takes 4 seconds before it starts playing?

1

There are 1 answers

0
Matt H On

Actually I just figured it out -- it's a bug in TAAE. It's also calling a AudioUnitStop on the remote_IO unit. You have to bypass TAAE stop and call the graph directly.