Actually, that's what I also remembered. Of course one could make the buffering code a separate process but this would complicate things to a certain degree. Then it's probably better to rely on some external daemon like JACK.
The following thread references a pthread call that can set sched RR or sched FIFO.
Here's the scoop...
http://www.developertutorials.com/tutorials/linux/processes-threads-050616/p...