Hét hónap fejlesztése után elkészült a PipeWire 1.2.0 multimédiás szerver új stabil ága, amely a PulseAudio hangszolgáltatót váltotta, és különbsége abban rejlik, hogy eszközöket biztosít videostreaming kezelésére, alacsony késleltetéssel alkalmazható hangfeldolgozást kínál, valamint új biztonsági modellt vezet be az egyes eszközök és folyamok hozzáférésének kezeléséhez. A projektet a GNOME támogatja, és alapértelmezetten elérhető a Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE és sok más Linux disztribúción. A projekt kódja C nyelven íródott és LGPLv2.1 licenc alatt terjesztik.
A PipeWire többprocesszoros architektúrára épül, amely lehetővé teszi több alkalmazás tartalmának közös hozzáférését.
Lehetőséget biztosít bármilyen multimédiás folyam feldolgozására, folyamok keverésére és átirányítására, valamint videoforrások, például videofelvevő eszközök, webkamerák vagy a képernyő tartalmát megjelenítő alkalmazások vezérlésére. Például a PipeWire lehetővé teszi, hogy több alkalmazás együtt használja a webkamerát, és megoldja a képernyő tartalmának biztonságos rögzítésével és távoli hozzáféréssel járó problémákat a Wayland környezetében.
Hangszolgáltatóként használva a PipeWire minimális késleltetést képes biztosítani, és ötvözi a PulseAudio és JACK képességeit, figyelembe véve a professzionális hangfeldolgozó rendszerek igényeit, amelyeket a PulseAudio nem tudott kielégíteni. Ezen kívül a PipeWire kiterjesztett biztonsági modellt kínál, amely lehetővé teszi az egyes eszközök és konkrét folyamok szintjén történő hozzáférés kezelését, megkönnyítve a hang- és videóátirányítás megszervezését elkülönített konténerekből és azokba. A fő célok egyike az önálló alkalmazások támogatása Flatpak formátumban és a Wayland alapú grafikai stackben való működés.
Az új verzióban:
- Az adatfolyamok csomópontgrafikon alapú feldolgozási modellbe beépítették a aszinkron feldolgozás támogatását, amelynek során a csomópontgrafikon nem blokkolódik, ha egy adott csomópont nem ad ki adatokat, hanem folytatja működését a korábbi ciklusban kapott csomópont adataival. Így, egy ciklus késleltetéséért cserébe elkerülhető az a helyzet, amikor egy csomópont blokkolja a többi csomópont működését a grafikonban.
- Megvalósult a szinkronizált csomópontok (node.sync-group) koncepciója, amely lehetővé teszi az ütemező által egyidejűleg aktivált csomópontok csoportok létrehozását. Ez a funkció lehetővé teszi a JACK szállítószalag indításakor a csomópontok egyidejű aktiválásának ütemezését.
- Javítva lett a konfigurációs fájlban megjelenő hibaüzenetek listázása, mostantól nyomon követhetjük, hol történt a hiba a beállításokban (sor száma és pozíció a sorban).
- Hozzáadva az Explicit Sync technológia támogatása, amely lehetővé teszi a fejlesztők számára, hogy értesítsék a Wayland protokollon alapuló összetett kezelőt a keret képernyőre való megjelenítésének készenlétéről, ezáltal csökkentve a késleltetést és megszüntetve a grafika megjelenítési hibáit. Különösen az Explicit Sync megoldja a helytelen megjelenítési problémákat és a fagyásokat NVIDIA GPU-val rendelkező rendszereken, ahol a Wayland támogatás be van kapcsolva.
- Megvalósult a kötelező metadaták meghatározásának lehetősége a puffer paramétereinek egyeztetésekor, amelyeket az „Explicit Sync” támogatásához használnak.
- Hozzáadva a több adatfeldolgozási ciklus (data-loop) létrehozásának és használatának támogatása az ügyfélben és szerveren. Az adatfeldolgozási ciklusokba lehetőségek kerültek bevezetésre a meghatározott CPU-magokhoz való kötésre és prioritások beállítására.
- Lehetővé vált a naplóban megjelenő információk kiírását vezérlő hibakeresési szintek változtatása újraindítás nélkül, metadaták felhasználásával.
- Újragondolták a csomópontok (a hálózati adatfolyamokat meghatározó csomópontok) összekapcsolásának logikáját.
- Át lettek véve a hibásként megjelölt eszközök kezelésére vonatkozó patch-ek az ALSA UCM (Use Case Manager) révén.
- Hozzáadva a snapcast-discover modult a tartalom streameléséhez a szerverek SnapCast.
Forrás: opennet.ru
