Presently we only support mono and stereo audio. SDL seems to support up to 7.1 surround sound, and I don't think it would be that much work to add support for it.
Opening the sound device would become a little more complicated, as we presently open stereo and fall back to mono if that fails. I think we would just replace this with decreasing the number of channels by 1 until we get to mono or succeed in opening the device with whatever the user requested.
Mixing would need to be rewritten. Presently we have separate functions for each combination of (from mono|stereo)(to mono|stereo)(interpolated or not). I think we could probably rewrite these into only a couple functions with template parameters specifying these (from channels, to channels, interpolated).
Panning would need an additional dimension for Front/Back. And while we are at it, we might want to just make it a Vector3 to support full spatial audio in the future. Presently it is only possible to pan a mono source sound, and I think it should remain this way, and stereo/surround sound audio should be handled as is (the user can always separate multi channel audio into mono tracks if they really need the per-channel panning control).
Presently we only support mono and stereo audio. SDL seems to support up to 7.1 surround sound, and I don't think it would be that much work to add support for it.