Nach 14 Jahren seit der letzten Veröffentlichung wurde die Version der SDL_sound-Bibliothek 2.0.1 erstellt (Version 2.0.0 wurde übersprungen). Diese bietet eine Erweiterung der SDL-Bibliothek mit Funktionen zur Decodierung beliebter Audioformatdateien wie MP3, WAV, OGG, FLAC, AIFF, VOC, MOD, MID und AU. Die erhebliche Änderung der Versionsnummer ist auf die Umstellung des Codes von der Copyleft-Lizenz LGPLv2 auf die permissive zlib-Lizenz zurückzuführen, die mit der GPL kompatibel ist. Zudem ist die SDL_sound-Integration nun ausschließlich auf der SDL 2.0-Basis möglich (die Unterstützung für das Build über SDL 1.2 wurde eingestellt), trotz der Beibehaltung der Abwärtskompatibilität auf API-Ebene.
Für die Dekodierung von Audioformaten in SDL_sound werden keine externen Bibliotheken benötigt – alle notwendigen Quelltexte zur Dekodierung sind im Hauptpaket enthalten. Die bereitgestellte API ermöglicht den Zugriff auf Audiodaten sowohl aus Dateien als auch auf der Ebene von Audio-Streams aus einer oder mehreren externen Quellen. Es besteht die Möglichkeit, eigene Handler für die Audioverarbeitung anzuhängen oder Zugriff auf die resultierenden dekodierten Daten zu gewähren. Verschiedene Manipulationen an der Abtastrate, den Formaten und den Audiokanälen sind möglich, einschließlich der On-the-Fly-Konvertierung.
Hauptänderungen in der Version SDL_sound 2.0:
- Änderung der Lizenz für zlib und Umstieg auf die Nutzung von SDL 2.
- Beseitigung externer Abhängigkeiten und Integration aller Dekoder in das Hauptpaket. Ersetzung einiger Dekoder durch einheitliche Handler. Zum Beispiel benötigen Sie für die Arbeit mit dem OGG-Format keine libogg-Bibliothek mehr, da der stb_vorbis-Dekoder nun in die Quelltexte von SDL_sound integriert ist.
- Übergang zu einem Build-System auf Basis von CMake. Vereinfachung des Prozesses zur Nutzung des SDL_sound-Codes in eigenen Projekten.
- Einstellung der Unterstützung für den Decoder des veralteten QuickTime-Formats, jedoch kann in macOS und iOS weiterhin der universelle CoreAudio-Decoder für die Arbeit mit QuickTime verwendet werden.
- Einstellung der Unterstützung für das Speex-Format aufgrund des Fehlens einer Decoder-Implementierung unter der erforderlichen Lizenz.
- Einstellung der Unterstützung für den MikMod-Decoder. Für die Arbeit mit denselben Formaten kann der modplug-Decoder verwendet werden.
Quelle: opennet.ru
