Después de 14 años desde la última versión, se ha lanzado la biblioteca SDL_sound 2.0.1 (se omitió la versión 2.0.0), que ofrece una capa sobre la biblioteca SDL con funciones para decodificar formatos de audio comunes como MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID y AU. El cambio significativo en el número de versión se debe a la transición del código de una licencia copyleft LGPLv2 a una licencia permisiva zlib, compatible con GPL. Además, a pesar de mantener la compatibilidad hacia atrás a nivel de API, ahora el funcionamiento de SDL_sound es posible solo sobre la rama SDL 2.0 (el soporte para la compilación sobre SDL 1.2 ha sido descontinuado).
Para la decodificación de formatos de audio en SDL_sound no se utilizan bibliotecas externas: todo el código fuente necesario para la decodificación se incluye en el conjunto principal. La API proporcionada permite obtener datos de audio tanto de archivos como a nivel de flujos de audio de una o varias fuentes externas. Se admite la incorporación de sus propios manejadores para procesar el audio o proporcionar acceso a los datos decodificados resultantes. Es posible realizar diversas manipulaciones con la frecuencia de muestreo, formatos y canales de audio, incluso para la reconversión en tiempo real.
Cambios principales en la rama SDL_sound 2.0:
- Cambio de licencia a zlib y transición al uso de SDL 2.
- Eliminación del código de dependencias externas e incorporación de todos los decodificadores en el conjunto principal. Sustitución de algunos decodificadores por controladores unificados. Por ejemplo, para trabajar con el formato OGG ya no se requiere la instalación de la biblioteca libogg, ya que el decodificador stb_vorbis ahora está integrado en el código fuente de SDL_sound.
- Transición al uso del sistema de compilación CMake. Simplificación del proceso de uso del código SDL_sound en sus proyectos.
- Cese del soporte para el decodificador del formato obsoleto QuickTime, pero en macOS e iOS todavía se puede utilizar el decodificador universal CoreAudio para trabajar con QuickTime.
- Cese del soporte para el formato Speex debido a la falta de implementación del decodificador bajo la licencia necesaria.
- Cese del soporte para el decodificador MikMod. Para trabajar con los mismos formatos se puede utilizar el decodificador modplug.
Fuente: opennet.ru
