SDL_mixer: removed minimp3 as a mp3 backend.

From 50cd29e1eb0a936ab22b980e1036a3fd467a6da2 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Mon, 10 Mar 2025 19:24:24 +0300
Subject: [PATCH] removed minimp3 as a mp3 backend.

---
 Android.mk                                    |    8 +-
 CMakeLists.txt                                |   17 +-
 README.txt                                    |    2 +-
 VisualC/SDL_mixer.vcxproj                     |   10 +-
 VisualC/SDL_mixer.vcxproj.filters             |    6 -
 Xcode/SDL_mixer.xcodeproj/project.pbxproj     |   12 +-
 .../resources/CMake/SDL3_mixerConfig.cmake    |    3 +-
 .../cmake/SDL3_mixer/SDL3_mixerConfig.cmake   |    2 +-
 .../android/aar/cmake/SDL3_mixerConfig.cmake  |    2 +-
 .../msvc/cmake/SDL3_mixerConfig.cmake.in      |    3 +-
 build-scripts/release-info.json               |    9 +-
 cmake/SDL3_mixerConfig.cmake.in               |    1 -
 src/codecs/minimp3/LICENSE                    |  117 --
 src/codecs/minimp3/README.md                  |  310 ---
 src/codecs/minimp3/minimp3.h                  | 1865 -----------------
 src/codecs/minimp3/minimp3_ex.h               | 1393 ------------
 src/codecs/music_minimp3.c                    |  286 ---
 src/codecs/music_minimp3.h                    |   28 -
 src/music.c                                   |    4 -
 src/music.h                                   |    1 -
 20 files changed, 19 insertions(+), 4060 deletions(-)
 delete mode 100644 src/codecs/minimp3/LICENSE
 delete mode 100644 src/codecs/minimp3/README.md
 delete mode 100644 src/codecs/minimp3/minimp3.h
 delete mode 100644 src/codecs/minimp3/minimp3_ex.h
 delete mode 100644 src/codecs/music_minimp3.c
 delete mode 100644 src/codecs/music_minimp3.h

diff --git a/Android.mk b/Android.mk
index f6dad2e92..637984703 100644
--- a/Android.mk
+++ b/Android.mk
@@ -19,10 +19,8 @@ SUPPORT_OGG ?= false
 OGG_LIBRARY_PATH := external/ogg
 VORBIS_LIBRARY_PATH := external/tremor
 
-# Enable this if you want to support loading MP3 music via MINIMP3
-SUPPORT_MP3_MINIMP3 ?= true
 # Enable this if you want to support loading MP3 music via dr_mp3
-SUPPORT_MP3_DRMP3 ?= false
+SUPPORT_MP3_DRMP3 ?= true
 
 # Enable this if you want to support loading MP3 music via MPG123
 SUPPORT_MP3_MPG123 ?= false
@@ -131,9 +129,6 @@ ifeq ($(SUPPORT_OGG),true)
     LOCAL_STATIC_LIBRARIES += ogg vorbisidec
 endif
 
-ifeq ($(SUPPORT_MP3_MINIMP3),true)
-    LOCAL_CFLAGS += -DMUSIC_MP3_MINIMP3
-endif
 ifeq ($(SUPPORT_MP3_DRMP3),true)
     LOCAL_CFLAGS += -DMUSIC_MP3_DRMP3
 endif
@@ -185,4 +180,3 @@ LOCAL_LDLIBS :=
 LOCAL_EXPORT_LDLIBS :=
 
 include $(BUILD_STATIC_LIBRARY)
-
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96d59ecc5..4009ae8c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,14 +148,13 @@ endif()
 
 option(SDLMIXER_MP3 "Enable MP3 music" ON)
 
-cmake_dependent_option(SDLMIXER_MP3_MINIMP3 "Support loading MP3 music via minimp3" ON SDLMIXER_MP3 OFF)
-cmake_dependent_option(SDLMIXER_MP3_DRMP3 "Support loading MP3 music via dr_mp3" OFF SDLMIXER_MP3 OFF)
+cmake_dependent_option(SDLMIXER_MP3_DRMP3 "Support loading MP3 music via dr_mp3" ON SDLMIXER_MP3 OFF)
 
 cmake_dependent_option(SDLMIXER_MP3_MPG123 "Support loading MP3 music via MPG123" OFF SDLMIXER_MP3 OFF)
 cmake_dependent_option(SDLMIXER_MP3_MPG123_SHARED "Dynamically load mpg123" "${SDLMIXER_DEPS_SHARED}" SDLMIXER_MP3_MPG123 OFF)
 
-if(SDLMIXER_MP3 AND NOT (SDLMIXER_MP3_MINIMP3 OR SDLMIXER_MP3_DRMP3 OR SDLMIXER_MP3_MPG123))
-    message(FATAL_ERROR "MP3 support was enabled (SDLMIXER_MP3) but neither drmp3 (SDLMIXER_MP3_DRMP3), minimp3 (SDLMIXER_MP3_MINIMP3) or mpg123 (SDLMIXER_MP3_MPG123) were enabled.")
+if(SDLMIXER_MP3 AND NOT (SDLMIXER_MP3_DRMP3 OR SDLMIXER_MP3_MPG123))
+    message(FATAL_ERROR "MP3 support was enabled (SDLMIXER_MP3) but neither drmp3 (SDLMIXER_MP3_DRMP3) or mpg123 (SDLMIXER_MP3_MPG123) were enabled.")
 endif()
 
 option(SDLMIXER_MIDI "Enable MIDI music" ON)
@@ -256,7 +255,6 @@ add_library(${sdl3_mixer_target_name}
     src/codecs/music_flac.c
     src/codecs/music_fluidsynth.c
     src/codecs/music_gme.c
-    src/codecs/music_minimp3.c
     src/codecs/music_mpg123.c
     src/codecs/music_nativemidi.c
     src/codecs/music_ogg.c
@@ -827,13 +825,6 @@ if(SDLMIXER_MOD_XMP_ENABLED)
     set(SDLMIXER_MOD_ENABLED TRUE)
 endif()
 
-list(APPEND SDLMIXER_BACKENDS MP3_MINIMP3)
-set(SDLMIXER_MP3_MINIMP3_ENABLED FALSE)
-if(SDLMIXER_MP3_MINIMP3)
-    set(SDLMIXER_MP3_MINIMP3_ENABLED TRUE)
-    target_compile_definitions(${sdl3_mixer_target_name} PRIVATE MUSIC_MP3_MINIMP3)
-endif()
-
 list(APPEND SDLMIXER_BACKENDS MP3_DRMP3)
 set(SDLMIXER_MP3_DRMP3_ENABLED FALSE)
 if(SDLMIXER_MP3_DRMP3)
@@ -894,7 +885,7 @@ if(SDLMIXER_MP3_MPG123)
 endif()
 
 set(SDLMIXER_MP3_ENABLED FALSE)
-if(SDLMIXER_MP3_MINIMP3_ENABLED OR SDLMIXER_MP3_MPG123_ENABLED)
+if(SDLMIXER_MP3_DRMP3_ENABLED OR SDLMIXER_MP3_MPG123_ENABLED)
     set(SDLMIXER_MP3_ENABLED TRUE)
 endif()
 
diff --git a/README.txt b/README.txt
index 6e47c4b4a..28e52708a 100644
--- a/README.txt
+++ b/README.txt
@@ -28,4 +28,4 @@ Support for software MIDI, MOD, and Opus are not included by default because of
 - When building with Xcode, you can edit the config at the top of the project to enable them, and you will need to include the appropriate framework in your application.
 - For Android, you can edit the config at the top of Android.mk to enable them.
 
-The default MP3 support is provided using minimp3. SDL_mixer also supports using libmpg123: you can enable it by passing --enable-music-mp3-mpg123 to configure.
+The default MP3 support is provided using drmp3. SDL_mixer also supports using libmpg123: you can enable it by passing --enable-music-mp3-mpg123 to configure.
diff --git a/VisualC/SDL_mixer.vcxproj b/VisualC/SDL_mixer.vcxproj
index ca4f7a2fe..89c6ec753 100644
--- a/VisualC/SDL_mixer.vcxproj
+++ b/VisualC/SDL_mixer.vcxproj
@@ -116,7 +116,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\src;$(ProjectDir)..\src\codecs;$(ProjectDir)..\src\codecs\timidity;$(ProjectDir)..\src\codecs\native_midi;$(ProjectDir)external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_WAVPACK;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_MINIMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_WAVPACK;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>OldStyle</DebugInformationFormat>
@@ -144,7 +144,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\src;$(ProjectDir)..\src\codecs;$(ProjectDir)..\src\codecs\timidity;$(ProjectDir)..\src\codecs\native_midi;$(ProjectDir)external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_WAVPACK;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_MINIMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_WAVPACK;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>OldStyle</DebugInformationFormat>
@@ -170,7 +170,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\src;$(ProjectDir)..\src\codecs;$(ProjectDir)..\src\codecs\timidity;$(ProjectDir)..\src\codecs\native_midi;$(ProjectDir)external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAVPACK;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_MINIMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAVPACK;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
@@ -197,7 +197,7 @@
     </Midl>
     <ClCompile>
       <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\src;$(ProjectDir)..\src\codecs;$(ProjectDir)..\src\codecs\timidity;$(ProjectDir)..\src\codecs\native_midi;$(ProjectDir)external\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAVPACK;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_MINIMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAVPACK;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;OGG_DYNAMIC="libvorbisfile-3.dll";MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";WAVPACK_DYNAMIC="libwavpack-1.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;MUSIC_GME;GME_DYNAMIC="libgme.dll";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
     </ClCompile>
@@ -226,7 +226,6 @@
     <ClInclude Include="..\src\codecs\music_flac.h" />
     <ClInclude Include="..\src\codecs\music_fluidsynth.h" />
     <ClInclude Include="..\src\codecs\music_gme.h" />
-    <ClInclude Include="..\src\codecs\music_minimp3.h" />
     <ClInclude Include="..\src\codecs\music_mpg123.h" />
     <ClInclude Include="..\src\codecs\music_nativemidi.h" />
     <ClInclude Include="..\src\codecs\music_ogg.h" />
@@ -450,7 +449,6 @@
     <ClCompile Include="..\src\codecs\music_flac.c" />
     <ClCompile Include="..\src\codecs\music_fluidsynth.c" />
     <ClCompile Include="..\src\codecs\music_gme.c" />
-    <ClCompile Include="..\src\codecs\music_minimp3.c" />
     <ClCompile Include="..\src\codecs\music_mpg123.c" />
     <ClCompile Include="..\src\codecs\music_nativemidi.c" />
     <ClCompile Include="..\src\codecs\music_ogg.c" />
diff --git a/VisualC/SDL_mixer.vcxproj.filters b/VisualC/SDL_mixer.vcxproj.filters
index 97ab282c8..0dbd4568e 100644
--- a/VisualC/SDL_mixer.vcxproj.filters
+++ b/VisualC/SDL_mixer.vcxproj.filters
@@ -43,9 +43,6 @@
     <ClInclude Include="..\src\codecs\music_gme.h">
       <Filter>Sources</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\codecs\music_minimp3.h">
-      <Filter>Sources</Filter>
-    </ClInclude>
     <ClInclude Include="..\src\codecs\music_mpg123.h">
       <Filter>Sources</Filter>
     </ClInclude>
@@ -179,9 +176,6 @@
     <ClCompile Include="..\src\codecs\music_gme.c">
       <Filter>Sources</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\codecs\music_minimp3.c">
-      <Filter>Sources</Filter>
-    </ClCompile>
     <ClCompile Include="..\src\codecs\music_mpg123.c">
       <Filter>Sources</Filter>
     </ClCompile>
diff --git a/Xcode/SDL_mixer.xcodeproj/project.pbxproj b/Xcode/SDL_mixer.xcodeproj/project.pbxproj
index 1f2be8bc5..40790f5e1 100644
--- a/Xcode/SDL_mixer.xcodeproj/project.pbxproj
+++ b/Xcode/SDL_mixer.xcodeproj/project.pbxproj
@@ -74,8 +74,6 @@
 		BE1FA8CD07AF96B2004B6283 /* SDL_mixer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1014BAEA010A4B677F000001 /* SDL_mixer.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		F30240632881DF95002F32D6 /* music_xmp.h in Headers */ = {isa = PBXBuildFile; fileRef = F302405F2881DF94002F32D6 /* music_xmp.h */; };
 		F30240652881DF95002F32D6 /* music_xmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F30240622881DF95002F32D6 /* music_xmp.c */; };
-		F307A52F2B5473760012534B /* music_minimp3.c in Sources */ = {isa = PBXBuildFile; fileRef = F307A52D2B5473760012534B /* music_minimp3.c */; };
-		F307A5302B5473760012534B /* music_minimp3.h in Headers */ = {isa = PBXBuildFile; fileRef = F307A52E2B5473760012534B /* music_minimp3.h */; };
 		F3249B39285C448100DB9B5C /* CMake in Resources */ = {isa = PBXBuildFile; fileRef = F3249B36285C448100DB9B5C /* CMake */; };
 		F3412A412D4C950E00D6C2B7 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3412A402D4C950E00D6C2B7 /* SDL3.framework */; };
 		F37A8D2D2838924900C38E95 /* music_drmp3.h in Headers */ = {isa = PBXBuildFile; fileRef = F37A8D2B2838924900C38E95 /* music_drmp3.h */; };
@@ -216,8 +214,6 @@
 		F30240622881DF95002F32D6 /* music_xmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = music_xmp.c; sourceTree = "<group>"; };
 		F307A25D2B542F110012534B /* wavpack.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = wavpack.xcodeproj; path = wavpack/wavpack.xcodeproj; sourceTree = "<group>"; };
 		F307A2732B5431700012534B /* gme.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = gme.xcodeproj; path = gme/gme.xcodeproj; sourceTree = "<group>"; };
-		F307A52D2B5473760012534B /* music_minimp3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = music_minimp3.c; sourceTree = "<group>"; };
-		F307A52E2B5473760012534B /* music_minimp3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = music_minimp3.h; sourceTree = "<group>"; };
 		F3249B36285C448100DB9B5C /* CMake */ = {isa = PBXFileReference; lastKnownFileType = folder; path = CMake; sourceTree = "<group>"; };
 		F3412A402D4C950E00D6C2B7 /* SDL3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL3.framework; path = macOS/SDL3.framework; sourceTree = "<group>"; };
 		F37A8D2B2838924900C38E95 /* music_drmp3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = music_drmp3.h; sourceTree = "<group>"; };
@@ -334,8 +330,6 @@
 				AAE405BF1F9607BF00EDAF53 /* music_fluidsynth.h */,
 				F3F8794C29B30FDA0007FDA1 /* music_gme.c */,
 				F3F8794A29B30FDA0007FDA1 /* music_gme.h */,
-				F307A52D2B5473760012534B /* music_minimp3.c */,
-				F307A52E2B5473760012534B /* music_minimp3.h */,
 				AAE405DF1F9607C300EDAF53 /* music_mpg123.c */,
 				AAE405D31F9607C100EDAF53 /* music_mpg123.h */,
 				AAE405D51F9607C100EDAF53 /* music_nativemidi.c */,
@@ -466,7 +460,6 @@
 				AAE405E31F9607C300EDAF53 /* music_fluidsynth.h in Headers */,
 				AAE405F61F9607C300EDAF53 /* load_aiff.h in Headers */,
 				F37A8D2D2838924900C38E95 /* music_drmp3.h in Headers */,
-				F307A5302B5473760012534B /* music_minimp3.h in Headers */,
 				AAE405E71F9607C300EDAF53 /* load_voc.h in Headers */,
 				AAE405EC1F9607C300EDAF53 /* music_wav.h in Headers */,
 				AAE405FE1F9607C300EDAF53 /* music_nativemidi.h in Headers */,
@@ -695,7 +688,6 @@
 				AAE406041F9607C300EDAF53 /* effect_stereoreverse.c in Sources */,
 				AAE405ED1F9607C300EDAF53 /* music_wav.c in Sources */,
 				F30240652881DF95002F32D6 /* music_xmp.c in Sources */,
-				F307A52F2B5473760012534B /* music_minimp3.c in Sources */,
 				AAE405E51F9607C300EDAF53 /* mixer.c in Sources */,
 				0448E8AE108B937A00C9D3EA /* native_midi_macosx.c in Sources */,
 				630FBD8320D52105009867AB /* music_opus.c in Sources */,
@@ -780,7 +772,7 @@
 				GCC_NO_COMMON_BLOCKS = YES;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					MUSIC_FLAC_DRFLAC,
-					MUSIC_MP3_MINIMP3,
+					MUSIC_MP3_DRMP3,
 					MUSIC_OGG,
 					OGG_USE_STB,
 					MUSIC_WAV,
@@ -830,7 +822,7 @@
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					MUSIC_FLAC_DRFLAC,
-					MUSIC_MP3_MINIMP3,
+					MUSIC_MP3_DRMP3,
 					MUSIC_OGG,
 					OGG_USE_STB,
 					MUSIC_WAV,
diff --git a/Xcode/pkg-support/resources/CMake/SDL3_mixerConfig.cmake b/Xcode/pkg-support/resources/CMake/SDL3_mixerConfig.cmake
index 35c641c13..50802289d 100644
--- a/Xcode/pkg-support/resources/CMake/SDL3_mixerConfig.cmake
+++ b/Xcode/pkg-support/resources/CMake/SDL3_mixerConfig.cmake
@@ -35,8 +35,7 @@ set(SDLMIXER_MOD_XMP               TRUE)
 set(SDLMIXER_MOD_XMP_LITE          TRUE)
 
 set(SDLMIXER_MP3                   TRUE)
-set(SDLMIXER_MP3_MINIMP3           TRUE)
-set(SDLMIXER_MP3_DRMP3             FALSE)
+set(SDLMIXER_MP3_DRMP3             TRUE)
 set(SDLMIXER_MP3_MPG123            FALSE)
 
 set(SDLMIXER_MIDI                  TRUE)
diff --git a/Xcode/pkg-support/share/cmake/SDL3_mixer/SDL3_mixerConfig.cmake b/Xcode/pkg-support/share/cmake/SDL3_mixer/SDL3_mixerConfig.cmake
index 6c7b1285f..39d5d617f 100644
--- a/Xcode/pkg-support/share/cmake/SDL3_mixer/SDL3_mixerConfig.cmake
+++ b/Xcode/pkg-support/share/cmake/SDL3_mixer/SDL3_mixerConfig.cmake
@@ -96,7 +96,7 @@ set(SDLMIXER_MOD_XMP               TRUE)
 set(SDLMIXER_MOD_XMP_LITE          TRUE)
 
 set(SDLMIXER_MP3                   TRUE)
-set(SDLMIXER_MP3_MINIMP3           TRUE)
+set(SDLMIXER_MP3_DRMP3             TRUE)
 set(SDLMIXER_MP3_MPG123            FALSE)
 
 set(SDLMIXER_MIDI                  TRUE)
diff --git a/build-scripts/pkg-support/android/aar/cmake/SDL3_mixerConfig.cmake b/build-scripts/pkg-support/android/aar/cmake/SDL3_mixerConfig.cmake
index 80de10974..412ea9cc8 100644
--- a/build-scripts/pkg-support/android/aar/cmake/SDL3_mixerConfig.cmake
+++ b/build-scripts/pkg-support/android/aar/cmake/SDL3_mixerConfig.cmake
@@ -42,7 +42,7 @@ set(SDLMIXER_MOD_XMP               FALSE)
 set(SDLMIXER_MOD_XMP_LITE          FALSE)
 
 set(SDLMIXER_MP3                   TRUE)
-set(SDLMIXER_MP3_MINIMP3           TRUE)
+set(SDLMIXER_MP3_DRMP3             TRUE)
 set(SDLMIXER_MP3_MPG123            FALSE)
 
 set(SDLMIXER_MIDI                  FALSE)
diff --git a/build-scripts/pkg-support/msvc/cmake/SDL3_mixerConfig.cmake.in b/build-scripts/pkg-support/msvc/cmake/SDL3_mixerConfig.cmake.in
index 736282dcf..b634b2981 100644
--- a/build-scripts/pkg-support/msvc/cmake/SDL3_mixerConfig.cmake.in
+++ b/build-scripts/pkg-support/msvc/cmake/SDL3_mixerConfig.cmake.in
@@ -34,8 +34,7 @@ set(SDLMIXER_MOD_XMP               FALSE)
 set(SDLMIXER_MOD_XMP_LITE          FALSE)
 
 set(SDLMIXER_MP3                   TRUE)
-set(SDLMIXER_MP3_MINIMP3           TRUE)
-set(SDLMIXER_MP3_DRMP3             FALSE)
+set(SDLMIXER_MP3_DRMP3             TRUE)
 set(SDLMIXER_MP3_MPG123            FALSE)
 
 set(SDLMIXER_MIDI                  TRUE)
diff --git a/build-scripts/release-info.json b/build-scripts/release-info.json
index ac6d6a79f..a97f5c729 100644
--- a/build-scripts/release-info.json
+++ b/build-scripts/release-info.json
@@ -43,8 +43,7 @@
         "-DSDLMIXER_MOD=OFF",
         "-DSDLMIXER_MOD_XMP=OFF",
         "-DSDLMIXER_MP3=ON",
-        "-DSDLMIXER_MP3_MINIMP3=ON",
-        "-DSDLMIXER_MP3_DRMP3=OFF",
+        "-DSDLMIXER_MP3_DRMP3=ON",
         "-DSDLMIXER_MP3_MPG123=OFF",
         "-DSDLMIXER_MIDI=ON",
         "-DSDLMIXER_MIDI_NATIVE=ON",
@@ -142,8 +141,7 @@
         "-DSDLMIXER_MOD=ON",
         "-DSDLMIXER_MOD_XMP=ON",
         "-DSDLMIXER_MP3=ON",
-        "-DSDLMIXER_MP3_MINIMP3=ON",
-        "-DSDLMIXER_MP3_DRMP3=OFF",
+        "-DSDLMIXER_MP3_DRMP3=ON",
         "-DSDLMIXER_MP3_MPG123=OFF",
         "-DSDLMIXER_MIDI=ON",
         "-DSDLMIXER_MIDI_NATIVE=ON",
@@ -232,8 +230,7 @@
         "-DSDLMIXER_MOD=OFF",
         "-DSDLMIXER_MOD_XMP=OFF",
         "-DSDLMIXER_MP3=ON",
-        "-DSDLMIXER_MP3_MINIMP3=ON",
-        "-DSDLMIXER_MP3_DRMP3=OFF",
+        "-DSDLMIXER_MP3_DRMP3=ON",
         "-DSDLMIXER_MP3_MPG123=OFF",
         "-DSDLMIXER_MIDI=ON",
         "-DSDLMIXER_MIDI_NATIVE=ON",
diff --git a/cmake/SDL3_mixerConfig.cmake.in b/cmake/SDL3_mixerConfig.cmake.in
index 5c5e5f11d..8fe87eec2 100644
--- a/cmake/SDL3_mixerConfig.cmake.in
+++ b/cmake/SDL3_mixerConfig.cmake.in
@@ -25,7 +25,6 @@ set(SDLMIXER_MOD_XMP               @SDLMIXER_MOD_XMP_ENABLED@)
 set(SDLMIXER_MOD_XMP_LITE          @SDLMIXER_MOD_XMP_ENABLED@)
 
 set(SDLMIXER_MP3                   @SDLMIXER_MP3_ENABLED@)
-set(SDLMIXER_MP3_MINIMP3           @SDLMIXER_MP3_MINIMP3_ENABLED@)
 set(SDLMIXER_MP3_DRMP3             @SDLMIXER_MP3_DRMP3_ENABLED@)
 set(SDLMIXER_MP3_MPG123            @SDLMIXER_MP3_MPG123_ENABLED@)
 
diff --git a/src/codecs/minimp3/LICENSE b/src/codecs/minimp3/LICENSE
deleted file mode 100644
index 2c4afabdb..000000000
--- a/src/codecs/minimp3/LICENSE
+++ /dev/null
@@ -1,117 +0,0 @@
-CC0 1.0 Universal
-
-Statement of Purpose
-
-The laws of most jurisdictions throughout the world automatically confer
-exclusive Copyright and Related Rights (defined below) upon the creator and
-subsequent owner(s) (each and all, an "owner") of an original work of
-authorship and/or a database (each, a "Work").
-
-Certain owners wish to permanently relinquish those rights to a Work for the
-purpose of contributing to a commons of creative, cultural and scientific
-works ("Commons") that the public can reliably and without fear of later
-claims of infringement build upon, modify, incorporate in other works, reuse
-and redistribute as freely as possible in any form whatsoever and for any
-purposes, including without limitation commercial purposes. These owners may
-contribute to the Commons to promote the ideal of a free culture and the
-further production of creative, cultural and scientific works, or to gain
-reputation or greater distribution for their Work in part through the use and
-efforts of others.
-
-For these and/or other purposes and motivations, and without any expectation
-of additional consideration or compensation, the person associating CC0 with a
-Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
-and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
-and publicly distribute the Work under its terms, with knowledge of his or her
-Copyright and Related Rights in the Work and the meaning and intended legal
-effect of CC0 on those rights.
-
-1. Copyright and Related Rights. A Work made available under CC0 may be
-protected by copyright and related or neighboring rights ("Copyright and
-Related Rights"). Copyright and Related Rights include, but are not limited
-to, the following:
-
-  i. the right to reproduce, adapt, distribute, perform, display, communicate,
-  and translate a Work;
-
-  ii. moral rights retained by the original author(s) and/or performer(s);
-
-  iii. publicity and privacy rights pertaining to a person's image or likeness
-  depicted in a Work;
-
-  iv. rights protecting against unfair competition in regards to a Work,
-  subject to the limitations in paragraph 4(a), below;
-
-  v. rights protecting the extraction, dissemination, use and reuse of data in
-  a Work;
-
-  vi. database rights (such as those arising under Directive 96/9/EC of the
-  European Parliament and of the Council of 11 March 1996 on the legal
-  protection of databases, and under any national implementation thereof,
-  including any amended or successor version of such directive); and
-
-  vii. other similar, equivalent or corresponding rights throughout the world
-  based on applicable law or treaty, and any national implementations thereof.
-
-2. Waiver. To the greatest extent permitted by, but not in contravention of,
-applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
-unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
-and Related Rights and associated claims and causes of action, whether now
-known or unknown (including existing as well as future claims and causes of
-action), in the Work (i) in all territories worldwide, (ii) for the maximum
-duration provided by applicable law or treaty (including future time
-extensions), (iii) in any current or future medium and for any number of
-copies, and (iv) for any purpose whatsoever, including without limitation
-commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
-the Waiver for the benefit of each member of the public at large and to the
-detriment of Affirmer's heirs and successors, fully intending that such Waiver
-shall not be subject to revocation, rescission, cancellation, termination, or
-any other legal or equitable action to disrupt the quiet enjoyment of the Work
-by the public as contemplated by Affirmer's express Statement of Purpose.
-
-3. Public License Fallback. Should any part of the Waiver for any reason be
-judged legally invalid or ineffective under applicable law, then the Waiver
-shall be preserved to the maximum extent permitted taking into account
-Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
-is so judged Affirmer hereby grants to each affected person a royalty-free,
-non transferable, non sublicensable, non exclusive, irrevocable and
-unconditional license to exercise Affirmer's Copyright and Related Rights in
-the Work (i) in all territories worldwide, (ii) for the maximum duration
-provided by applicable law or treaty (including future time extensions), (iii)
-in any current or future medium and for any number of copies, and (iv) for any
-purpose whatsoever, including without limitation commercial, advertising or
-promotional purposes (the "License"). The License shall be deemed effective as
-of the date CC0 was applied by Affirmer to the Work. Should any part of the
-License for any reason be judged legally invalid or ineffective under
-applicable law, such partial invalidity or ineffectiveness shall not
-invalidate the remainder of the License, and in such case Affirmer hereby
-affirms that he or she will not (i) exercise any of his or her remaining
-Copyright and Related Rights in the Work or (ii) assert any associated claims
-and causes of action with respect to the Work, in either case contrary to
-Affirmer's express Statement of Purpose.
-
-4. Limitations and Disclaimers.
-
-  a. No trademark or patent rights held by Affirmer are waived, abandoned,
-  surrendered, licensed or otherwise affected by this document.
-
-  b. Affirmer offers the Work as-is and makes no representations or warranties
-  of any kind concerning the Work, express, implied, statutory or otherwise,
-  including without limitation warranties of title, merchantability, fitness
-  for a particular purpose, non infringement, or the absence of latent or
-  other defects, accuracy, or the present or absence of errors, whether or not
-  discoverable, all to the greatest extent permissible under applicable law.
-
-  c. Affirmer disclaims responsibility for clearing rights of other persons
-  that may apply to the Work or any use thereof, including without limitation
-  any person's Copyright and Related Rights in the Work. Further, Affirmer
-  disclaims responsibility for obtaining any necessary consents, permissions
-  or other rights required for any use of the Work.
-
-  d. Affirmer understands and acknowledges that Creative Commons is not a
-  party to this document and has no duty or obligation with respect to this
-  CC0 or use of the Work.
-
-For more information, please see
-<http://creativecommons.org/publicdomain/zero/1.0/>
-
diff --git a/src/codecs/minimp3/README.md b/src/codecs/minimp3/README.md
deleted file mode 100644
index fbf9455a3..000000000
--- a/src/codecs/minimp3/README.md
+++ /dev/null
@@ -1,310 +0,0 @@
-minimp3
-==========
-
-[![Build Status](https://travis-ci.org/lieff/minimp3.svg)](https://travis-ci.org/lieff/minimp3)
-<a href="https://scan.coverity.com/projects/lieff-minimp3">
-  <img alt="Coverity Scan Build Status"
-       src="https://scan.coverity.com/projects/14844/badge.svg"/>
-</a>
-[![codecov](https://codecov.io/gh/lieff/minimp3/branch/master/graph/badge.svg)](https://codecov.io/gh/lieff/minimp3)
-
-Minimalistic, single-header library for decoding MP3. minimp3 is designed to be
-small, fast (with SSE and NEON support), and accurate (ISO conformant). You can
-find a rough benchmark below, measured using ``perf`` on an i7-6700K, IO
-included, no CPU heat to address speedstep:
-
-| Vector      | Hz    | Samples| Sec    | Clockticks | Clockticks per second | PSNR | Max diff |
-| ----------- | ----- | ------ | ------ | --------- | ------ | ------ | - |
-|compl.bit    | 48000 | 248832 | 5.184  | 14306684  | 2.759M | 124.22 | 1 |
-|he_32khz.bit | 32000 | 172800 | 5.4    | 8426158   | 1.560M | 139.67 | 1 |
-|he_44khz.bit | 44100 | 472320 | 10.710 | 21296300  | 1.988M | 144.04 | 1 |
-|he_48khz.bit | 48000 | 172800 | 3.6    | 8453846   | 2.348M | 139.67 | 1 |
-|hecommon.bit | 44100 | 69120  | 1.567  | 3169715   | 2.022M | 133.93 | 1 |
-|he_free.bit  | 44100 | 156672 | 3.552  | 5798418   | 1.632M | 137.48 | 1 |
-|he_mode.bit  | 44100 | 262656 | 5.955  | 9882314   | 1.659M | 118.00 | 1 |
-|si.bit       | 44100 | 135936 | 3.082  | 7170520   | 2.326M | 120.30 | 1 |
-|si_block.bit | 44100 | 73728  | 1.671  | 4233136   | 2.533M | 125.18 | 1 |
-|si_huff.bit  | 44100 | 86400  | 1.959  | 4785322   | 2.442M | 107.98 | 1 |
-|sin1k0db.bit | 44100 | 725760 | 16.457 | 24842977  | 1.509M | 111.03 | 1 |
-
-Conformance test passed on all vectors (PSNR > 96db).
-
-## Comparison with keyj's [minimp3](https://keyj.emphy.de/minimp3/)
-
-Comparison by features:
-
-| Keyj minimp3 | Current |
-| ------------ | ------- |
-| Fixed point  | Floating point |
-| source: 84kb | 70kb |
-| binary: 34kb (20kb compressed) | 30kb (20kb) |
-| no vector opts | SSE/NEON intrinsics |
-| no free format | free format support |
-
-Below, you can find the benchmark and conformance test for keyj's minimp3:
-
-
-| Vector      | Hz    | Samples| Sec    | Clockticks | Clockticks per second | PSNR | Max diff |
-| ----------- | ----- | ------ | ------ | --------- | ------  | ----- | - |
-|compl.bit    | 48000 | 248832 | 5.184  | 31849373  | 6.143M  | 71.50 | 41 |
-|he_32khz.bit | 32000 | 172800 | 5.4    | 26302319  | 4.

(Patch may be truncated, please check the link at the top of this post.)