PÀrast seitsme kuu arendust on kujunenud vÀlja uus stabiilne PipeWire 1.2.0 meediumiserveri haru, mis asendab heliserverit PulseAudio ja millel on eripÀra, et see sisaldab vahendeid videovoodude haldamiseks, vÔimalust töötada heli minimaalsete viivitustega ning uus turvemudel, mis haldab juurdepÀÀsu eraldi seadmete ja voogude tasemel. Projekti toetab GNOME ja see on vaikimisi rakendatud Fedora Linuxis, RHELis, UbUNTUs, Debiannis, SUSE/openSUSE's ja paljudes teistes Linux, distributsioonides. Projekti kood on kirjutatud C keeles ja jagatakse LGPLv2.1 litsentsi alusel.
PipeWire pÔhineb mitme protsessi arhitektuuril, mis vÔimaldab mitme rakenduse sisu jagamist.
Pakutakse vÔimalusi igasuguste meediumivoogude töötlemiseks, voogude segamiseks ja suunamiseks, samuti videoallikate haldamiseks, nagu nÀiteks videokvalifikaatorid, veebikaamerad vÔi rakenduste ekraaniviidatud sisu. NÀiteks vÔimaldab PipeWire mitme rakenduse koostööd veebikaameraga ja lahendab ekraani sisu turvalise haaramise ning kaugsuunamise probleemid Waylandi keskkonnas.
Heliserverina kasutades suudab PipeWire tagada minimaalsed viivitused ja pakkuda PulseAudio ja JACK-i funktsioone, arvestades professionaalse helitöötluse sĂŒsteemide vajadusi, mis pole olnud PulseAudio jaoks saavutatavad. Lisaks pakub PipeWire ulatuslikuma turvamudeli, mis haldab juurdepÀÀsu eraldi seadmete ja konkreetsete voogude tasemel, lihtsustades heli ja video edastamise korraldamist isoleeritud konteineritest ja nendesse. Ăks peamisi eesmĂ€rke on toetada iseseisvaid rakendusi Flatpak formaadis ning töötada Waylandi pĂ”histel graafikakihtidel.
Uues versioonis:
- Andmevoogude töötlemise mudel on tĂ€iustatud sĂ”lmede graafiku toetamisel, lisades asĂŒnkroonse töötlemise, kus sĂ”lmede graafik ei blokeeru, kui teatud sĂ”lmega ei ole vĂ€ljundit, vaid jĂ€tkab tööd, kasutades varasemal tsĂŒklil saadud sĂ”lmest andmeid. Nii on ĂŒhe tsĂŒkli viivituse hinnaga vĂ”imalik vĂ€ltida olukorda, kus ĂŒks sĂ”lm blokeerib teiste sĂ”lmede töö graafikus.
- Realiseeritud on sĂŒnkroonitud sĂ”lmede (node.sync-group) kontseptsioon, mis vĂ”imaldab luua sĂ”lmede gruppe, mida ajakava aktiveerib samal ajal. Funktsiooni saab kasutada sĂ”lmede samaaegseks aktiveerimiseks JACK transpordi kĂ€ivitamisel.
- Parandatud on vigade vÀljundit konfigureerimisfailis, lisades viite koha kohta, kus viga juhtus seadistustes (rea number ja positsioon reas).
- Lisatud on Explicit Sync tehnoloogia tugi, mis vĂ”imaldab rakendustel teavitada Waylandi-protokollil pĂ”hinevat komposiitmenĂŒĂŒd valmisolekust pildi vĂ€ljundiks, vĂ€hendades viivitusi ja kĂ”rvalekaldeid graafika vĂ€ljundis. EelkĂ”ige lahendab Explicit Sync probleemid vĂ€ljundi rikkumise ja hangumistega sĂŒsteemides, millel on NVIDIA GPU ja aktiveeritud Waylandi tugi.
- Realiseeritud on kohustuslike metaandmete mÀÀramine puhvri parameetrite kokkuleppel, mida kasutatakse 'Explicit Sync' toe tagamiseks.
- Lisatud on tugi mitme andmeprotsessi tsĂŒkli (data-loop) loomisele ja kasutamisele kliendis ja serveris. Andmeprotsesside tsĂŒklitesse on lisatud vĂ”imalused seonduda teatud CPU tuumadega ja mÀÀrata prioriteete.
- Pakutakse vÔimalust muuta tÔrke tasemeid, mis juhivad teabe logisse vÀljastamist, ilma taaskÀivitamiseta, kasutades metaandmeid.
- Ămber töötatud on peeride (andmevoogude graafis sĂ”lmed, mis mÀÀravad vĂ€lised allikad vĂ”i andmevastuvĂ”tjad) sidumise loogika.
- VÔetud on vastu patƥid konfliktsete seadmete töötlemiseks, kasutades ALSA UCM (Use Case Manager).
- Lisatud on snapcast-discover moodul sisu edastamiseks serverid SnapĐĄast.
Allikas: opennet.ru
