Na 14 jaar sinds de laatste uitgave is de release van de SDL_sound 2.0.1 bibliotheek (uitgave 2.0.0 was overgeslagen) gevormd, die een uitbreiding biedt op de SDL-bibliotheek met functies voor het decoderen van populaire audiobestandsformaten zoals MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID en AU. De significante versie wijziging komt door de overgang van de code van de copyleft LGPLv2 licentie naar de permissieve zlib-licentie, die compatibel is met de GPL. Bovendien, hoewel de achterwaartse compatibiliteit op API-niveau behouden blijft, kan SDL_sound nu alleen werken op basis van de SDL 2.0 tak (ondersteuning voor build boven SDL 1.2 is gestopt).
Voor het decoderen van audiovormen in SDL_sound worden geen externe bibliotheken gebruikt — alle benodigde decodering-bronbestanden zijn inbegrepen in de hoofdversie. De aangeboden API stelt gebruikers in staat om audiogegevens te verkrijgen vanuit bestanden, evenals op niveau van audiostreams vanuit één of meerdere externe bronnen. Het is mogelijk om eigen handlers toe te voegen voor geluidsverwerking of toegang te bieden tot de resulterende gedecodeerde gegevens. Er zijn verschillende manipulaties mogelijk met samplefrequenties, formaten en audiokanalen, inclusief on-the-fly conversie.
Belangrijkste wijzigingen in de SDL_sound 2.0 tak:
- Verandering van de licentie naar zlib en overgaan op het gebruik van SDL 2.
- Eliminatie van externe afhankelijkheden en integratie van alle decoders in de hoofdversie. Vervanging van enkele decoders door uniforme handlers. Bijvoorbeeld, voor het werken met het OGG-formaat is het niet langer nodig om de libogg-bibliotheek te installeren, aangezien de stb_vorbis decoder nu in de bronbestanden van SDL_sound is geïntegreerd.
- Overstappen op het gebruik van het build-systeem CMake. Vereenvoudiging van het proces van gebruik van de SDL_sound code in eigen projecten.
- Stoppen met de ondersteuning van de decoder voor het verouderde QuickTime-formaat, maar op macOS en iOS kan de universele CoreAudio-decoder nog steeds worden gebruikt voor QuickTime.
- Stoppen met de ondersteuning van het Speex-formaat, vanwege het ontbreken van een implementatie van de decoder onder de benodigde licentie.
- Stoppen met de ondersteuning van de MikMod-decoder. Voor het werken met dezelfde formats kan de modplug-decoder worden gebruikt.
Bron: opennet.ru
