A: 

Have you looked at OpenAL?

Manuel
+3  A: 

Qt 4.6 has the new QtMultimedia module.

http://doc.qt.nokia.com/4.6/qtmultimedia.html

The QAudioOutput class would seem to do what you want - it just plays raw PCM data.

BlackAura
Thank you! QAudioOutput is exactly the kind of thing I was looking for! I never noticed it, since I'm on a system with Qt 4.5 at the moment, and just read the 4.5 docs.
gspr
A: 

ffmpeg, libvlc and gstreamer have abilities beyond raw pcm, such as codec support.

For your purposes, SDL (example 1, example 2), OpenAL, QAudioOutput are sufficient. SDL is probably the most popular option.

Also, why do you want to control buffering? Buffering a lot means less interrupts and lower power consumption.

Tobu