miniaudio 0.11.22

miniaudio 0.11.22

Op 24 februari, na meer dan een jaar ontwikkeling, werd de cross-platform bibliotheek voor audio-opname en -weergave 0.11.22 uitgebracht. miniaudio, geschreven in de programmeertaal C en verspreid als publieke domein.
miniaudio werkt op alle belangrijke desktop- en mobiele platforms, waaronder Windows, macOS, Linux, BSD, iOS, Android en Web (via Emscripten) zonder externe afhankelijkheden.
De bibliotheek heeft een eenvoudige, flexibele en modulaire API met ingebouwde decoders (WAV, MP3 en FLAC), geavanceerde mixmogelijkheden en effectenverwerking (inclusief 3D), resourcebeheer, filters, gegevensconversie en nog veel meer.

Belangrijkste wijzigingen:

  • Met versie 0.12 zal miniaudio overstappen op een aparte set .c/.h bestanden, waarbij de enkele headerbestand zal worden opgeheven. Ter voorbereiding is er een bestand miniaudio.c aan de repository toegevoegd. Momenteel is dit gewoon een wrapper rondom miniaudio.h en MINIAUDIO_IMPLEMENTATION. Er zijn geen wijzigingen aangebracht in miniaudio.h, maar wanneer versie 0.12 uitkomt, moet miniaudio.c worden gebruikt om te compileren. Het wordt aanbevolen om de overstap van MINIAUDIO_IMPLEMENTATION naar miniaudio.c te maken. Als u uw project als één compilatie-eenheid wilt blijven bouwen, kunt u #include "miniaudio.c" gebruiken. Deze methode wordt ondersteund in versie 0.12 en later.
  • De bestanden miniaudio_libvorbis.h en miniaudio_libopus.h in de directory extras zijn gemarkeerd als verouderd. Ze zijn nu gescheiden in aparte .c en .h bestanden in de directory extras/decoders. De oude bestanden zijn nog steeds beschikbaar voor compatibiliteit, maar je moet overschakelen op de nieuwe versies. De overgang zou triviaal moeten zijn.
  • Er zijn opties MA_SOUND_FLAG_LOOPING en MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING toegevoegd. Deze kunnen worden gebruikt voor het initialiseren van geluiden en beheerde data-bron resources om standaard te lussen. Dit is de aanbevolen manier om lussen voor streams in te schakelen. De configuratieopties isLooping in ma_sound_config en ma_resource_manager_data_source_config zijn verouderd. Als je deze gebruikt, moet je overstappen naar de nieuwe opties, anders krijg je compilerfouten bij de update naar een toekomstige versie.
  • ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read() en ma_pcm_rb_commit_write() retourneren niet langer MA_AT_END. De reden voor deze wijziging is dat er geen concept van 'einde' bestaat in de ringbuffer, wat de resultaatcode onduidelijk maakte. Bovendien kunnen deze functies iets anders retourneren dan MA_SUCCESS, zelfs als de bewerking succesvol was, wat extra verwarring veroorzaakte. De juiste manier om te controleren of er nog plaats is in de ringbuffer, is door te kijken naar de frame-teller die door de functies rb_acquire_read/write() wordt geretourneerd.
  • De implementatie van de gegevensbron ma_pcm_rb is zodanig gewijzigd dat de uitvoer gevuld is met stilte als er niet genoeg gegevens in de ringbuffer zijn om de aanvraag uit te voeren. Dit betekent dat ma_data_source_read_pcm_frames() voor ma_pcm_rb nu nooit een aantal frames dat minder is dan je hebt aangevraagd, zou moeten retourneren, en dus nooit MA_AT_END zal retourneren, wat geen betekenis heeft voor een ringbuffer omdat er geen concept van einde is. Deze wijziging zou het gebruik van de ringbuffer als gegevensbron voor ma_sound aanzienlijk moeten vereenvoudigen.
  • Er is een kleine wijziging aangebracht in de functie ma_calculate_buffer_size_in_milliseconds_from_frames(), waardoor deze een waarde retourneert die is afgerond op het dichtstbijzijnde gehele getal.
  • Bij een mislukte initialisatie van de decoder wordt nu de eerste foutcode geretourneerd die wordt aangetroffen, in plaats van MA_NO_BACKEND ongeacht de fout, zoals voorheen.
  • De functie ma_device_id_equal() is toegevoegd voor het vergelijken van apparaatidentificaties.
  • Ondersteuning voor MA_NO_RUNTIME_LINKING is toegevoegd in de AAudio backend.
  • De documentatie is bijgewerkt.
  • Opgedetecteerde fouten zijn gecorrigeerd.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster