29.06.2022

Выпуск библиотеки SDL_sound 2.0

Спустя 14 лет с момента прошлого выпуска сформирован релиз библиотеки SDL_sound 2.0.1 (выпуск 2.0.0 был пропущен), предоставляющей надстройку над библиотекой SDL c функциями для декодирования популярных звуковых форматов файлов, таких как MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID и AU. Значительное изменение номера версии связано с переводом кода с копилефт лицензии LGPLv2 на пермиссивную лицензию zlib, совместимую с GPL. Кроме того, несмотря на сохранение обратной совместимости на уровне API, работа SDL_sound теперь возможна только на базе ветки SDL 2.0 (поддержка сборки поверх SDL 1.2 прекращена).

Для декодирования звуковых форматов в SDL_sound не применяются внешние библиотеки — все необходимые для декодирования исходные тексты входят в основной состав. Предоставляемый API позволяет получать звуковые данные как из файлов, так и на уровне звуковых потоков из одного или нескольких внешних источников. Поддерживается прикрепление своих обработчиков для обработки звука или предоставление доступа к результирующим декодированным данным. Возможны различные манипуляции с частотой дискретизации, форматами и звуковыми каналами, в том числе для переконвертации на лету.

Основные изменения в ветке SDL_sound 2.0:

  • Изменение лицензии на zlib и переход на использование SDL 2.
  • Избавление кода от внешних зависимостей и встраивание всех декодировщиков в основной состав. Замена некоторых декодировщиков на унифицированные обработчики. Например, для работы с форматом OGG больше не требуется установка библиотеки libogg, так как декодировщик stb_vorbis теперь встроен в исходные тексты SDL_sound.
  • Переход на применение сборочной системы CMake. Упрощение процесса использования кода SDL_sound в своих проектах.
  • Прекращение поддержки декодировщика для устаревшего формата QuickTime, но в macOS и iOS для работы с QuickTime по-прежнему можно использовать универсальный декодировщик
    CoreAudio.
  • Прекращение поддержки формата Speex, из-за отсутствия реализации декодировщика под необходимой лицензией.
  • Прекращение поддержки декодировщика MikMod. Для работы с теми же форматами можно использовать декодировщик modplug.

Источник.