Megjelent a PipeWire 0.3.71, az egyre elterjedtebb linuxos audió- és videó stream szerver megoldás legújabb verziója. A PipeWire a Linux audio és video adatfolyamok menedzsment megoldásának legújabb, 0.3.71-es verziójú frissítéseként, amely a JACK és a PulseAudio által jelenleg nyújtott funkciókat hivatott pótolni.
A 0.3.71-es verzió egy új funkciókat is kínáló kiadás, amely API és ABI kompatibilis az előző 0.3.x verziókkal.A PipeWire 0.3.71 kiadásban több hiba is javításra került. A legfontosabb újdonságok közé tartozik a következők:
- Új null késleltetésű jackdbus híd lett hozzáadva. Ez hasonlóan működik, mint amit a PulseAudio kínál, és akkor hoz létre egy célt/forrást (sink/source), amikor a jackdbus elindul. Azonban sokkal hatékonyabb és a teljes PipeWire gráfot egy szinkronizált JACK kliensként futtatja anélkül, hogy a rajta átjutó jel késleltetést szenvedne el.
- Sok teljesítményjavítás történt. A távoli csomópontok aktiválása hatékonyabb, kevesebb eventfd-re van szükség a klienseknél, kevesebb callback overhead van a teljesítménykritikus útvonalakon, és optimalizált lekérdező (poll) függvény lett hozzáadva. Ez főként a jackdbus modul által vezérelt esetekben történt, hogy a gráf futtatásakor a lehető legalacsonyabb legyen az overhead.
- A JACK értesítés callback implementációja át lett dolgozva annak érdekében, hogy jobban emulálja azt, amit a JACK csinál. Ezzel javítva az ardour7 és a JACK stresszteszt kompatibilitását.
- További munka történt a BAP eszközökön is. Az eszköz késleltetési értéke most már tovább lesz adva az alkalmazásoknak is a többeszközös fejhallgatók esetében is, és a csatorna lefoglalás kezelése is jobb.
- További fejlesztések és hibajavítások.
PipeWire újdonságairól részletesebben:
- Eltávolították a fejlesztők a belekódolt fix határt az io_areas esetében. Ez a csomópontok összekapcsolására és a puffercserére szolgált, ami korábban 2048-ra volt korlátozva, de most a követelmények alapján dinamikusan skálázódik.
- A rate és quantum változtatások most már helyesen alkalmazódnak több esetben is.
- Frissítve lett a kliens-csomópont a meghajtó hatékonyabb feldolgozásához.
- A profilozó információk pontosabb eredményt adnak. Most már jobban működik távoli meghajtóknál.
- Néhány potenciális memóriaterület hibát javítottak a protokollban, mert bizonyos esetekben nagy üzenetekkel néhány fájlleíró korábban túl korán zárult.
- A pw-filter most már implementálja a „pw_filter_set_active()” metódust.
- Javítottak egy potenciális pufferhiányt a capture pw-stream-ekben, ahol a pufferek nem kerültek áthelyezésre a visszagyűjtő sorba, amikor a csomópont felfüggesztett állapotba került.
- A csomópontokat mostantól mindig az eventfd ébreszti fel. Korábban voltak olyan optimalizációk a szerverben, amelyek közvetlenül a csomópont folyamatfunkciójába hívtak, de ez az optimalizáció most már nem szükséges. Ennek az optimalizációnak a hiányában most már lehetséges a csomópontok különböző szálakon történő futtatása.
- A pw-stream trigger most már minden esetben helyesen van implementálva.
- A távoli csomópontok most már kevesebb eventfd-t használnak, mert közvetlenül a csomópont eventfd-jével történik a kiváltás.
- A monitor portok mostantól nem frissülnek a késleltetés frissítéseknél.
- Javítottak egy potenciális versenyhelyzetet, amikor egy hibát jelentettek egy ügyfélnek.
- Javítottak egy hibát, amikor az always_process csomópontok néha IDLE állapotba kerültek.
- Optimalizálták a peer aktiválást. A csomópontok most hatékonyabban aktiválódnak, függetlenül a hivatkozások számától. Ez csökkenti az eseményfájlok és a memória számát a távoli kliensekben.
- Javítottak egy hibát a tulajdonság szerializálásában. A szóközöket tartalmazó értékek csak az érték első részét szerializálták.
Ezzel a PipeWire 0.3.71-es verziója számos hiba javítást és teljesítményjavulást hozott. Az új funkciók és optimalizációk révén a rendszer még hatékonyabban és megbízhatóbban működik, így a felhasználók szélesebb körben élvezhetik az audio- és videofolyamatok kezelését a Linux rendszerekben. A letöltések és a PipeWire 0.3.71-ről szóló teljes változásnapló a következő címen található meg: FreeDesktop.org GitLab
A PipeWire-ról
A PipeWire egy olyan projekt, amelynek célja, hogy jelentősen javítsa a hang és videó kezelését Linux alatt. Egy alacsony késleltetésű, gráf alapú feldolgozómotort biztosít az audio- és videóeszközök tetején, amely a jelenleg a pulseaudio és a JACK által kezelt felhasználási esetek támogatására használható. A PipeWire-t egy erős biztonsági modellel tervezték, amely megkönnyíti az audio- és videoeszközökkel való interakciót a konténeres alkalmazásokból, a Flatpak alkalmazások támogatása az elsődleges cél. A Wayland és a Flatpak mellett a PipeWire-től azt várják a fejlesztők, hogy a Linux-alkalmazások fejlesztésének egyik alapvető építőkövét adja a jövőben.
- Audió és videó rögzítése és lejátszása minimális késleltetéssel.
- Valós idejű multimédiás feldolgozás audio és videó esetén.
- Többfolyamatos architektúra, hogy az alkalmazások megoszthassák a multimédiás tartalmakat.
- A PulseAudio, JACK, ALSA és GStreamer alkalmazások zökkenőmentes támogatása.
- Sandboxed alkalmazások támogatása. További információért tekintse meg a Flatpak-kal kapcsolatos megoldást.
A PipeWire egy kiszolgáló és API-interfész a multimédia kezelésére Linuxon. Leggyakrabban a Wayland és a Flatpak alkalmazások használják a képernyőmegosztás, a távoli asztal és a különböző szoftverek közötti hang- és video átiránytására. A hivatalos GYIK szerint: „úgy gondolhat rá, mint egy multimédiás útválasztó rétegre az illesztőprogramok tetején, amelyet az alkalmazások és könyvtárak használhatnak".
Szemben a PulseAudio végfelhasználói hangrendszerre és a JACK professzionális hangrendszerre összpontosító programjával, a PipeWire célja, hogy minden felhasználó számára, minden szinten működjön. A PipeWire ezt többek között azzal éri el, hogy képes dinamikusan váltani a különböző pufferméretek között, hogy alkalmazkodni tudjon a különböző audioalkalmazások eltérő késleltetési követelményeihez.