MacOSXのAudioFileStreamOpen

圧縮されたファイルを再生できるようになりました。が、キューに詰め込むだけでCPUパワーを100%食ってしまって、タイマーで動かしているフレーム処理にたどり着きません。
うーむ、そんなに重いの?
実は、一カ所、パケットをキューイングするときに

while(inuse[nowqueue]);

という怪しいところがあるので、ここをmutexで待つようにしたり、sleepをいれたりするととたんにならなくなるという。おかしーなー。なにがまずいんだろう?