miniaudio 0.11.22

miniaudio 0.11.22

Den 24 februari, efter mer Àn ett Ärs utveckling, slÀpptes version 0.11.22 av det plattformsoberoende biblioteket för ljudinspelning och uppspelning miniaudio, som Àr skriven i C och distribueras som offentlig egendom.
miniaudio fungerar pÄ alla större skrivbords- och mobilplattformar, inklusive Windows, macOS, Linux, BSD, iOS, Android och Web (via Emscripten) utan externa beroenden.
Biblioteket har ett enkelt, flexibelt och modulÀrt API med inbyggda dekodrar (WAV, MP3 och FLAC), avancerad mixer och effektbehandling (inklusive 3D), resursstyrning, filter, datakonvertering och mycket mer.

Huvudsakliga förÀndringar:

  • FrĂ„n och med version 0.12 kommer miniaudio att gĂ„ över till separata .c/.h-filer och överge den enda header-filen. För att förbereda detta har en fil miniaudio.c lagts till i repo. För nĂ€rvarande Ă€r detta bara en wrapper runt miniaudio.h och MINIAUDIO_IMPLEMENTATION. Inga Ă€ndringar har gjorts i miniaudio.h, men nĂ€r version 0.12 slĂ€pps kommer miniaudio.c att behövas för kompilering. Det rekommenderas att börja övergĂ„ngen frĂ„n att anvĂ€nda MINIAUDIO_IMPLEMENTATION till att anvĂ€nda miniaudio.c. Om du vill fortsĂ€tta kompilera ditt projekt som en enda kompilationsenhet kan du anvĂ€nda #include "miniaudio.c". Denna metod kommer att stödjas i version 0.12 och framĂ„t.
  • Filena miniaudio_libvorbis.h och miniaudio_libopus.h i mappen extras har förklarats som förĂ„ldrade. De har nu delats upp i separata .c och .h-filer i mappen extras/decoders. De gamla filerna finns fortfarande kvar för kompatibilitet, men du mĂ„ste uppgradera till de nya versionerna. ÖvergĂ„ngen bör vara trivial.
  • Alternativen MA_SOUND_FLAG_LOOPING och MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING har lagts till. Dessa kan anvĂ€ndas för att initiera ljud och resursstyrda datakĂ€llor för looping som standard. Detta Ă€r det rekommenderade sĂ€ttet att aktivera looping för strömmar. Konfigurationsalternativen isLooping i ma_sound_config och ma_resource_manager_data_source_config har förklarats som förĂ„ldrade. Om du anvĂ€nder dem bör du uppgradera till de nya alternativen, annars kan du fĂ„ kompilatorfel nĂ€r du uppgraderar till framtida versioner.
  • ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read() och ma_pcm_rb_commit_write() returnerar inte lĂ€ngre MA_AT_END. Anledningen till denna Ă€ndring Ă€r att det inte finns nĂ„got koncept av "slut" i ringbufret, vilket gjorde resultatkoden otydlig. Dessutom kan dessa funktioner returnera nĂ„got annat Ă€n MA_SUCCESS, Ă€ven om operationen slutfördes framgĂ„ngsrikt, vilket skapade mer förvirring. Det korrekta sĂ€ttet att kontrollera om det fortfarande finns utrymme i ringbufret Ă€r att titta pĂ„ ramlĂ€knaren som returneras av funktionerna rb_acquire_read/write().
  • Implementeringen av datakĂ€llan ma_pcm_rb har Ă€ndrats sĂ„ att utsignalen fylls med tystnad om det inte finns tillrĂ€ckligt med data i ringbufret för att utföra begĂ€ran. Detta innebĂ€r att ma_data_source_read_pcm_frames() för ma_pcm_rb inte lĂ€ngre ska returnera ett antal ramar som Ă€r mindre Ă€n vad du begĂ€rde, och dĂ€rför kommer det aldrig att returnera MA_AT_END, vilket inte Ă€r meningsfullt för ringbufret eftersom det inte har nĂ„got koncept av slut. Denna förĂ€ndring bör förenkla anvĂ€ndningen av ringbufret som datakĂ€lla för ma_sound avsevĂ€rt.
  • Funktionen ma_calculate_buffer_size_in_milliseconds_from_frames() har fĂ„tt en liten Ă€ndring som gör att den returnerar ett vĂ€rde som avrundas till nĂ€rmaste heltal.
  • Vid misslyckad initialisering av avkodaren returneras nu den första stötta felkoden som hittas, istĂ€llet för MA_NO_BACKEND oavsett vilken fel det rörde sig om, som tidigare.
  • Funktionen ma_device_id_equal() har lagts till för att jĂ€mföra enhetsidentifierare.
  • Stöd för MA_NO_RUNTIME_LINKING har lagts till i AAudio-backend.
  • Dokumentationen har uppdaterats.
  • Förekomna fel har Ă„tgĂ€rdats.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster