A közel egy évnyi fejlesztés után megérkezett a PipeWire 1.6.0 új stabil ága, amely a PulseAudio hangkiszolgálót váltja fel, és amely a videostreaming kezelésének lehetőségeit, minimális késleltetést és egy új biztonsági modellt tartalmaz, amely lehetővé teszi az eszközök és folyamatok szintjén történő hozzáférés kezelését. A projekt alapértelmezés szerint elérhető a Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE és számos más Linux disztribúción. A kód C nyelven készült, és MIT licenc alatt terjesztik.
A PipeWire egy többprocesszoros architektúrára épül, amely lehetővé teszi több alkalmazás számára a tartalom közös használatát. Akár videofolyamok feldolgozására, keverésére és irányítására is lehetőséget biztosít, valamint lehetőséget ad a videoforrások, például videofogó eszközök, webkamerák vagy az alkalmazások által generált képernyő tartalom kezelésére. A PipeWire lehetővé teszi több alkalmazás együttes működését egy webkamerával, és megoldja a képernyő biztonságos rögzítésének és a távoli képernyő elérésének problémáit Wayland környezetben.
Hangkiszolgálóként a PipeWire minimalizálhatja a késleltetést, és olyan funkciókat biztosít, amelyek ötvözik a PulseAudio és JACK képességeit, figyelembe véve a professzionális hangfeldolgozó rendszerek igényeit, amelyekre a PulseAudio nem volt képes. A PipeWire kibővített biztonsági modellt kínál, amely lehetővé teszi az eszközök és konkrét folyamatok szintjén történő hozzáférés kezelését. Az alkalmazott hozzáférési modell egyszerűsíti a hang és video átvitelét izolált konténerekből és azokba. a szerverLDAC audio codec dekóder került hozzáadásra, amelyet a Bluetooth-on keresztüli nagy felbontású audio átvitelhez használnak. A dekódolásért a libldac könyvtár felelős.
Az új verzióban:
- A «bluez5-plc-spandsp» opciót hozzáadták, amely lehetővé teszi a csomagveszteség kompenzálását Bluetooth-on keresztüli audioátvitel során a SpanDSP könyvtár képességeit kihasználva.
- Biztonságos megvalósítása került hozzáadásra a POD (Plain Old Data) formátumú szerializált objektumok elemzéséhez és létrehozásához a megosztott memóriában.
- Hozzáadva a POD (Plain Old Data) formátumú szerializált objektumok elemzéséhez és létrehozásához szükséges funkciók biztonságos megvalósítása a megosztott memóriába.
- Megvalósult a lehetőség, hogy a PipeWire csomópontok metainformációkon keresztül támogassák a kiegészítő funkciókat, amelyeket az olyan kiterjesztett funkciók szinkronizálására lehet használni, mint a RELEASE művelet támogatása.
- Hozzáadva a lehetőség, hogy további felhasználói adatokat csatoljunk a csomópontok között átadott parancsokhoz és eseményekhez.
- További segédfunkciók valósultak meg a tömörítési formátumok létrehozására és elemzésére.
- Az alapértelmezett maximális csatornaszám limit 128-ra növeltük. Lehetőség van ennek a limitnek a felülírására a fordítási fázisban.
- Hozzáadva az 'audio.layout' beállítás, amely lehetővé teszi a térbeli hangrendszer séma beállítását (például 'audio.layout = 5.1') anélkül, hogy meg kellene határozni a csatornák pozícióját ('audio.position = [ FL, FR, FC, LFE, SL, SR ]').
- Hozzáadva a 'Capability Params' mechanizmus a link lehetőségeinek egyeztetésére a formátum és a pufferek meghatározása előtt.
- Hozzáadva a HDR új színképviseleti típusainak (colortype) támogatása.
- Az eseményfeldolgozó ciklusokban megvalósult a prioritás-inverziós blokkolások támogatása, amelyek megakadályozzák, hogy a nagy prioritású szálak arra várjanak, hogy a alacsony prioritású szál által kitett zár feloldódjon. Az állapot szinkronizálására könnyű blokkolásokat használnak az epoll és eventfd helyett.
- Hozzáadva a csatornapozíció meghatározásának támogatása az EDID adatok elemzésén keresztül.
- Biztosított a térbeli hangrendszer csatornáinak továbbítása az ALSA alrendszerbe (például, hogy melyik csatorna jobb, melyik bal stb.).
- Számos fejlesztés történt a Bluetooth, RTP (Real-time Transport Protocol) és AVB (Audio Video Bridging) terén.
- Folyik a Milan hálózati protokoll megvalósításán dolgozó munka, mely multimédiás adatok valós idejű továbbítására szolgál.
- A mintavételező rendszerhez (resampler) hozzáadva a testreszabható torzításcsökkentő funkciók támogatása, mint például Blackman és Kaiser. A fázisok számításának pontosságának növelésére fixpontos számításokat alkalmaznak.
- Lehetőség van FFmpeg hangszűrő csomópontok és ONNX alapú AI modellek, mint például a Silero hangdetektor alkalmazására a hangfeldolgozás során.
- Megszűnt a v0 protokoll támogatása az ügyfelek számára, amely a PipeWire korábbi verzióiban alkalmazásra került.
- A jack-tunnel modul részeként hozzáadva az automatikus portkapcsolódás támogatása.
- A ROC streamelési rendszerhez hozzáadva a többcsatornás elrendezések támogatása.
- Lehetőség nyílik az erőforrások (rlimit) korlátainak változtatására a konfigurációs fájlon keresztül.
- Hozzáadva a «thread.reset-on-fork» tulajdonság a szálak visszaállításának kezelésére fork hívásakor. JACK ügyfelek számára a JACK viselkedésének megismétléséhez a szálak visszaállítása letiltható a «thread.reset-on-fork=false» beállításával.
- Hozzáadva a node.exclusive jelző, amely garantálja, hogy a portnak csak egy forrása és egy fogyasztója legyen, ami szükséges az Explicit Sync mechanizmus megvalósításához.
- Hozzáadva a node.reliable jelző a garantált kézbesítési módhoz.
- A pw-cat segédeszközhöz hozzáadva a MIDI SysEx üzenetek (System Exclusive, szintetizátorok beállítására) támogatása, a midiclip tartály és a tömörítetlen hangformátumok. Hozzáadva opciók a hangtartályok formátumainak és kodekeinek beállításához, valamint a támogatott tartályok, kodekek, térhangzás elrendezések és csatorna nevek listájának megtekintéséhez.
Forrás: opennet.ru
