IFusionSound is the main FusionSound interface. Currently it
can only be retrieved by calling IDirectFB::GetInterface(). This will
change when Fusion and other relevant parts of DirectFB are dumped into a
base library.
Static sound buffers for smaller samples like sound effects in
games or audible feedback in user interfaces are created by calling
CreateBuffer(). They can be played several times with an unlimited
number of concurrent playbacks. Playback can be started in
looping mode. Other per-playback control includes pan value,
volume level and pitch.
Streaming sound buffers for large or compressed files and for
streaming of real time sound data are created by calling
CreateStream(). There's only one single playback that
automatically starts when data is written to the ring buffer for the
first time. If the buffer underruns, the playback automatically stops and
continues when the ring buffer is written to again.