Hi I'm working on using a [dedicated] linux box for an audio filtering use. My intentions is to take stereo audio in, process it, and play the result on audio out (all on the same sound device). The catch is that this app requires as low latency as possible to be usable in the field (<40ms) Since pulseaudio is conveniently available on desktops, I wrote a simple pulse app which opens two streams, one record and one playback and filter the audio between them. In the current design, I clock everything by using a record stream read CB. The read callback takes the available data, process it, and write it asynch to the playback stream without using playback write CB. This works, but with significant latency (200ms). However, when I start to adjust the latency settings on either streams, I get underrun errors. Apparently, even though the two streams originate from the same wordclock, they expect/deliver data at varying intervals. But having a floating buffer inbetween adds further delay. Does anyone have ideas of what other approaches would be best for this app? E.g. clock it from the playback write CB and asynchronously read data from record? IMHO it would be nice if playback and record streams could be syncronized, not just playback streams. It would make things very much simpler when record deliver x number of bytes, the playback wants the same x number of bytes. Perhaps PA offers this already? Best regards, Svein