SDL_mixer x86 VC++ dev's release unable to initialize MOD/FLAC/OGG/MP3

The latest version of the x86 SDL_mixer files included in the VC++ developer files breaks OGG/MOD/FLAC/MP3 support. I took a project that worked just fine with a slightly earlier version of SDL2/SDL_mixer and dropped the new H and LIB files and DLL files into the project folder to update it to the latest version of SDL_mixer but afte recompiling and running the project it now reports the error “OGG support not available” on Mix_Init(). This is the case if I try any of the other audio formats as well.

Again: the project/compiler/etc is most definitely not the problem as it worked just fine with earlier version of SDL2 and SDL_mixer, and dropping in the latest headers/libs/DLLs to update the project worked fine aside from mixer’s inability to properly load/initialize any of the extra audio format subsystems - which was a non-issue with the previous VC++ x86 developer files + binaries.

Also: the SDL_mixer DLLs included in the “32-bit Binaries” package are different from the DLLs included in the “MinGW Developer Files” package. It appears that the DLLs in both the 32-bit binaries package and the VC++ developer files are the same, however, and only the MinGW developer files contains a different version.

I also reproduced the problem creating a new project entirely from scratch that uses the latest SDL2 VC++ x86 files and the latest SDL_mixer VC++ x86 files only to receive the same error which trying to Mix_Init() with any of the MIX_INIT_OGG/FLAC/MOD/MP3 bitflags. It appears that there’s some DLL build version mixup.

When I swap out the DLLs from the x86 folder of the VC++ release with the DLLs from the MinGW developer files’ x86 folder the test program just crashes on startup before any actual code execution - which to my mind indicates that the DLLs are different.

UPDATE: After swapping the VC++ SDL_mixer.lib for the libSDL_mixer.dll.a and using the SDL_mixer dll’s from the MinGW developer files ZIP: projects compile, link, run, and Mix_Init() just fine, so the problem is clearly an issue with the libs in the VC++ developer files ZIP archive.

I just prepared an SDL 2.0.3 prerelease build that should fix this:


1 Like

Hello! Just got tried SDL_mixer 2.0.3 and it still doesn’t work, i attempt to use OGG and got “Unrecognized audio format” message after Mix_LoadMUS, but Mix_Init looking fine. 2.0.1 is working. x64 version have same problems. (MS VC++ 2015)

Finally got around to testing this, and it solved the problem I was having, not sure what was wrong for the other person here, maybe they mixed up the new/old SDL_mixer?