Release of the SDL_sound 2.0 library

After 14 years since the last release, the release of the SDL_sound 2.0.1 library has been formed (release 2.0.0 was skipped), which provides an add-on to the SDL library with functions for decoding popular sound file formats such as MP3, WAV, OGG, FLAC, AIFF, VOC , MOD, MID and AU. The significant version number change is due to the code being moved from the LGPLv2 copyleft license to the GPL-compatible zlib permissive license. In addition, despite maintaining backward compatibility at the API level, SDL_sound is now only possible based on the SDL 2.0 branch (building on top of SDL 1.2 has been discontinued).

To decode sound formats in SDL_sound, no external libraries are used - all the source texts necessary for decoding are included in the main structure. The provided API allows you to get sound data both from files and at the level of sound streams from one or more external sources. It is supported to attach custom audio processing handlers or provide access to the resulting decoded data. Various manipulations with sampling frequency, formats and audio channels are possible, including for on-the-fly conversion.

Main changes in SDL_sound 2.0 branch:

  • Changing license to zlib and switching to SDL 2.
  • Getting rid of the code from external dependencies and embedding all decoders in the main composition. Replacing some decoders with unified handlers. For example, to work with the OGG format, the installation of the libogg library is no longer required, since the stb_vorbis decoder is now built into the SDL_sound sources.
  • Switching to the CMake build system. Simplify the process of using the SDL_sound code in your projects.
  • Removed decoder support for the legacy QuickTime format, but on macOS and iOS, you can still use the generic CoreAudio decoder to work with QuickTime.
  • Stopping support for the Speex format, due to the lack of a decoder implementation under the required license.
  • End of support for the MikMod decoder. To work with the same formats, you can use the modplug decoder.

Source: opennet.ru

Add a comment