OpenAL 1つのソースで複数バッファを切り替える

1つのソースに複数バッファを割り当てて切り替えたい時は、

alSourceStop( ソースのID );
alSourcei( ソースのID, AL_BUFFER, 0 );

と停止してからバッファに0をセットして一度処理中のキューを空にする。
キューが空になってないとリークする事があるっぽい。

その後、

alBufferDataで新たに切り替えたいサウンドをセットすればよい。

セットしたサウンドはalBufferData内で別途確保されてコピー済みなのでfreeしてよい。