Right now I'm contemplating moving off the format loading to
ALURE, which I recently created for reasons such as this. It's still new, but it can already handle the same formats I had ZDoom handling, and relying on that one lib for will be simpler than relying on three or more. The same DLLs will be needed in the end for all the formats, of course, but it's easier than needing the development stuff to build against. Plus once I can get CMake 2.6 (when Gentoo stops taking its sweet time), I should be able to make prebuilt Win32 binaries of it so no external libraries need to be built before hand.
As a consequence, I can get rid of the decoder interface. I kept direct handling of libvorbisfile for DecodeSample/OXM files, but moved it into the base SoundRenderer class so derivitives don't need to decode it themselves. For Windows, you only need the vorbis/ogg headers and they can even be put into ZDoom's source tree.. the dll is loaded at runtime and silently skipped if missing. Linux still needs it at compile time, but if this is an issue, I will look into dynamicly loading it there, too.
If needed, I can revert back, but here's patches using ALURE.
(PS. I know it says that the API is not finalized; however, unless someone has valid concerns or something bad crops up, it won't likely change before it's finalized).