A ring buffer with 2 sections is enought. Look at my modplayer irq stuff, it uses the ringbuffer, and no waiting at all. If you do this ringbuffer stuff inteligent there is no waiting, the key is, that you only render the bytes you need, until the buffer is played. So if you call the ringbuffer...