Megjelent a PipeWire 1.6, mely a multimédiás keretrendszer legújabb kiadásaként több fontos területen hoz fejlesztéseket a Linuxos hang- és videókezelésben. A PipeWire 1.6 jóval szélesebb körben frissül annál, mint amit elsőre a Bluetooth és az audiófeldolgozás változásai alapján gondolni lehet. Az új kiadás a keretrendszer stabilitásában, a különböző kliensek együttműködésében és a kapcsolódó eszközök használatában is több fontos módosítást hoz.
Tartalomjegyzék

Bluetooth, többcsatornás hang és feldolgozási láncok erősítése a Pipewire 1.6-ban
A PipeWire 1.6 egyik legfontosabb újítása, hogy bekerült az LDAC dekóder a Bluetooth hanghoz, és a keretrendszer SpanDSP segítségével próbálja elfedni a csomagvesztés hatását. Ezzel együtt több további Bluetooth-változás is érkezett, valamint előrelépés történt az RTP és az AVB támogatásban is, noha a Milan protokoll támogatása még nem zárult le. Az audióoldal másik nagy lépése a csatornaszám felső határának emelése 128-ra, amivel megszűnik a korábbi 64 csatornás keverési korlát. A csatornatérképek most már közvetlenül ALSA eszközökön is beállíthatók, a csatornapozíciók pedig EDID adatokból is kiolvashatók, így egyszerűbbé válik az összetettebb kimenetek kezelése. A kiadás ezen felül lehetővé teszi, hogy a csatornakiosztást rövidebb formában, például 5.1-es elrendezéssel add meg, a külön csatornák kézi felsorolása helyett.
Az audiófeldolgozás belső működésében is több fontos változás történt. A resampler már külön választható ablakfüggvényeket kínál, például Blackman vagy Kaiser típust, és a fázisszámítást fixpontos matematikai műveletekkel végzi a pontosabb eredmény érdekében. Bekerült a Capability Params támogatás is, amely lehetővé teszi, hogy a kapcsolatok még a formátumok és pufferek véglegesítése előtt egyeztessék a képességeiket. A streamvezérlés terén megbízhatóbb lett az adatátvitel, és szigorúbb lett a node.exclusive viselkedése. Emellett biztonságosabbá vált a megosztott memória kezelése a POD adatszerkezetek jobb feldolgozása miatt, a metadata rendszer pedig már jelzi, ha a sync_timeline metadata támogatja a RELEASE műveletet. A node parancsok és események extra felhasználói adatot is vihetnek, ami a fejlettebb integrációk számára hasznos.
Új pluginok, kliensoldali változások és stabilitási javítások
A PipeWire 1.6 filter-graph rendszere új pluginokkal bővült: megjelent egy FFmpeg plugin, amely audió AVFilterGraph futtatására képes, valamint egy ONNX plugin is, amely például silero VAD jellegű modelleket tud kezelni. A filter-chain csatornakezelése több ponton javult, bekerültek csak forrás- vagy csak kimeneti szerepre épített felállások, és bővült a snapcast támogatás is. A hálózati hangátvitelnél RAOP és snapcast oldalon IPv4 link-local támogatás érkezett, a socket activation pedig már libsystemd nélkül is megoldható.
A kliens- és kompatibilitási oldalon fontos változás, hogy a régi v0 kliensek támogatása kikerült. A JACK tunnel modul már képes a portok automatikus összekapcsolására, a fork utáni szál-visszaállítás pedig beállíthatóvá vált. A Pulse-szerver több hibajavítást kapott, köztük a mono mixdown lekérdezések, az EPROTO hibakezelés, a play-sample streamek időtúllépései és a headset automatikus átváltásához kapcsolódó üzenetek terén. A parancssori eszközök is bővültek: a pw-cat már támogat sysexet, midiclipet és több tömörítetlen formátumot, emellett listázhatók a támogatott konténerek, kodekek, csatornakiosztások és csatornanevek, valamint közvetlenül kiválasztható a konténer- és kodekformátum.
A fő konfigurációban most már rlimits értékek is megadhatók. A kiadás emellett több szivárgási hibát is javít, rendezi a GStreamer integrációban a crop metadata és a pufferfelszabadítás körüli versenyhelyzetet, továbbá javítja a SPA komponensek alapértelmezett csatornakezelését. Fontos részlet, hogy a PipeWire 1.6 továbbra is API- és ABI-kompatibilis marad az 1.4.x sorozattal, ami megkönnyíti az átállást a meglévő rendszereknél.
További részletek az új kiadás kapcsán a projekt gitlab oldalán olvashatóak.
