miniaudio 0.11.22

miniaudio 0.11.22

Február 24-én, több mint egy év fejlesztés után, bemutatásra került a 0.11.22 keresztplatformos hangrögzítő és lejátszó könyvtár. miniaudio, amely C nyelven íródott és közkincs formájában terjesztik.
A miniaudio minden főbb asztali és mobil platformon működik, beleértve a Windows, macOS, Linux, BSD, iOS, Android és Web (Emscripten révén) platformokat, harmadik féltől származó függőségek nélkül.
A könyvtár egyszerű, rugalmas és moduláris API-t kínál beépített dekódolókkal (WAV, MP3 és FLAC), kibővített keverési és effektuskezelési lehetőségekkel (beleértve a 3D-t), erőforráskezeléssel, szűrőkkel, adatkonverzióval és még sok mással.

Főbb változások:

  • A 0.12-es verziótól kezdve a miniaudio külön .c és .h fájlokra fog váltani, letérve az egyetlen fejléc fájl használatáról. Ennek előkészítéseként a repóhoz hozzá lett adva a miniaudio.c fájl. Jelenleg ez csak egy burkoló a miniaudio.h és a MINIAUDIO_IMPLEMENTATION köré. A miniaudio.h fájlban semmi sem változott, azonban amikor a 0.12-es verzió megjelenik, a miniaudio.c fájlt kell használni a fordításhoz. Ajánlott átállni a MINIAUDIO_IMPLEMENTATION használatáról a miniaudio.c fájl használatára. Ha szeretné, hogy a projektje egyetlen fordítási egységként összeálljon, használhatja a #include "miniaudio.c" utasítást. Ez a módszer a 0.12-es verzióban és továbbra is támogatott lesz.
  • A miniaudio_libvorbis.h és miniaudio_libopus.h fájlok az extras könyvtárban elavultnak lettek nyilvánítva. Most külön .c és .h fájlokká lettek szétválasztva az extras/decoders könyvtárban. A régi fájlok továbbra is elérhetők a kompatibilitás érdekében, de át kell állnia az új verziókra. Az átállásnak zökkenőmentesnek kell lennie.
  • Új MA_SOUND_FLAG_LOOPING és MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING opciók lettek hozzáadva. Ezeket a hangok és az erőforrás menedzser adatforrások alapértelmezett ciklikussá tételére lehet használni. Ez a folyamatok ciklikussá tételének ajánlott módja. A ma_sound_config és ma_resource_manager_data_source_config isLooping konfigurációs opciói elavultnak lettek nyilvánítva. Ha ezeket használja, akkor át kell állnia az új opciókra, különben a jövőbeli verzióra való frissítéskor fordítási hibákat fog kapni.
  • a_rb_commit_read(), a_rb_commit_write(), a_pcm_rb_commit_read() és a_pcm_rb_commit_write() már nem ad vissza MA_AT_END. Ennek a módosításnak az oka az, hogy a körgyűrűs puffernél nem létezik a „vég” fogalma, ami a visszatérő kód eredményét homályossá tette. Ezenkívül ezek a funkciók nem MA_SUCCESS-t adhatnak vissza, hanem valami mást is, még akkor is, ha a művelet sikeresen befejeződött, ami további zűrzavart okozott. A helyes módja annak, hogy ellenőrizzük, van-e még hely a körgyűrűs pufferben, a rb_acquire_read/write() funkciók által visszaadott keret számláló megtekintése.
  • A ma_pcm_rb adatforrás megvalósítása úgy lett módosítva, hogy a kimenetek csendtel legyenek kitöltve, ha a körgyűrűs pufferben nem elegendő adat áll rendelkezésre a lekérdezés végrehajtásához. Ez azt jelenti, hogy a ma_data_source_read_pcm_frames() a ma_pcm_rb esetében már nem adhat vissza kevesebb keretet, mint amennyit kért, és így soha nem fog MA_AT_END-t visszaadni, ami nem jelent semmit a körgyűrűs puffer számára, mivel annak nincs vége. Ez a módosítás jelentősen egyszerűsíti a körgyűrűs puffer használatát, mint adatforrást a ma_sound számára.
  • A ma_calculate_buffer_size_in_milliseconds_from_frames() funkcióban egy kis módosítást végeztek, amelynek eredményeként az legközelebbi egész számra kerekített értéket ad vissza.
  • Sikertelen dekóder inicializáláskor most az első találkozott hibakódot adja vissza, nem pedig a MA_NO_BACKEND-t, függetlenül a hibától, ahogyan korábban volt.
  • A ma_device_id_equal() funkció hozzáadva a készülék-azonosítók összehasonlításához.
  • MA_NO_RUNTIME_LINKING támogatás hozzáadva az AAudio háttérhez.
  • Frissült a dokumentáció.
  • Javították az észlelt hibákat.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster