Further investigation finds the following:
As soon as a sample rate is changed on one of the AUConverters, the timeStamp throughput value is changed. In fact, it seems as though the timeStamp numbers themselves reset within the converter, and there exists a sort of offset after they've been changed. Even if the values are the same as they were previously, simply the call to:
AudioUnitSetProperty(audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &streamFormat, streamFormatSize);
(audioUnit is the AUConverter) - will somehow "reset" the timeStamp throughput and make an offset of sorts. The timeStamp inside the mixer, after that point, is not the same one showing up at the render callback.
Is this expected behavior?
What can I do to sync up these various busses into the mixer? Where can I find, at the very least, a common start point where each buss can at least then fly off on their own?
-ev |