Hey, I'm currently hacking on modules for CoreAudio sink/sources and wonder which way to go for the actual audio buffer transfer. CoreAudio is implemented in a asynchronous pull-io fashion, which means that the user registers a callback (IOProc) to be called for the device whenever there is a specified amount of data available and/or wanted, respectively. That's all fairly straight forward. As the PA sinks/sources are set up to match the sample format used by CoreAudio's IOProc, there is actually nothing more left to do inside this callback than copying the buffers from one end to the other when I'm called and then inform PA about new data arrival. Which API would cause as less overhead as possible? I didn't fully understand the magic behind the PA RT threads yet, and I doubt I need that at all as CoreAudio's IOProc is already called from a _very_ highly priorized thread. Any pointers appreciated. Thanks, Daniel