Audio::Mixer internal API revision
|Reported by:||fingolfin||Owned by:||fingolfin|
The attached patch revises the internal API of our Audio::Mixer code, i.e. the API exposed to the backends.
The goal is to get rid of some annoying corner cases in the semantics (such as the fact that the mixer can be in a semi-initialized state for some time, plus its instantiation was never really well-documented).
Also, this will make it possible to eventually change the output rate during run time, should we have need to do that, and should make further refactoring in the future easier.
Only the SDL port was fully updated to accommodate for the change. I tried to also update the WinCE and Symbian ports (which are derived from the SDL port), and started work on some of the others. But since it's not yet clear to me whether the patch will go into SVN, and since some porters might object to me making those changes for them anyway, I have not yet bothered to complete that part of the patch.
Ticket imported from: #1956946. Ticket imported from: patches/967.