Após 14 anos desde o último lançamento, a versão 2.0.1 da biblioteca SDL_sound foi finalmente lançada (o lançamento 2.0.0 foi pulado), oferecendo uma camada sobre a biblioteca SDL com funções para decodificar formatos de arquivos de áudio populares, como MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID e AU. A mudança significativa no número da versão se deve à transição do código da licença copyleft LGPLv2 para a licença permissiva zlib, compatível com GPL. Além disso, apesar da manutenção da compatibilidade retroativa a nível de API, o funcionamento do SDL_sound agora é possível apenas na base da versão SDL 2.0 (o suporte para a construção sobre SDL 1.2 foi descontinuado).
Para a decodificação de formatos de áudio, o SDL_sound não utiliza bibliotecas externas — todos os textos necessários para a decodificação estão incluídos na composição principal. A API fornecida permite obter dados de áudio tanto de arquivos quanto a partir de fluxos de áudio de uma ou mais fontes externas. Suporta a anexação de manipuladores personalizados para o processamento de áudio ou fornece acesso aos dados decodificados resultantes. Diversas manipulações com taxa de amostragem, formatos e canais de áudio são possíveis, inclusive para conversão em tempo real.
Mudanças principais na versão 2.0 do SDL_sound:
- Mudança da licença para zlib e transição para o uso do SDL 2.
- Remoção de dependências externas do código e incorporação de todos os decodificadores na composição principal. Substituição de alguns decodificadores por manipuladores unificados. Por exemplo, para trabalhar com o formato OGG, não é mais necessário instalar a biblioteca libogg, já que o decodificador stb_vorbis agora está embutido nos textos de origem do SDL_sound.
- Adoção do sistema de construção CMake. Simplificação do processo de uso do código SDL_sound em seus projetos.
- Descontinuação do suporte ao decodificador para o formato QuickTime obsoleto, mas no macOS e iOS, o decodificador universal CoreAudio ainda pode ser utilizado para trabalhar com QuickTime.
- Descontinuação do suporte ao formato Speex, devido à falta de implementação de um decodificador sob a licença necessária.
- Descontinuação do suporte ao decodificador MikMod. Para trabalhar com os mesmos formatos, pode-se utilizar o decodificador modplug.
Fonte: opennet.ru
