Pas shtatë muajsh zhvillimi, është formuar një degë e re e qëndrueshme e serverit multimedia PipeWire 1.2.0, e cila zëvendëson serverin e zërit PulseAudio dhe dallohet nga ai për përfshirjen e mjeteve për punën me rrjedhat e videos, mundësinë e përpunimit të zërit me vonesa minimale dhe një model të ri sigurie për menaxhimin e aksesit në nivelin e pajisjeve dhe rrjedhave të veçanta. Projekti mbështetet në GNOME dhe përdoret si parazgjedhje në Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE dhe shumë shpërndarje të tjera të Linux-it. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën LGPLv2.1.
PipeWire bazohet në një arkitekturë shumëprocesore që lejon ndarjen e përmbajtjes mes disa aplikacioneve.
Ofrohen mundësi për përpunimin e çdo rrjedhe multimedia, kombinimin dhe ridrejtimin e rrjedhave me video, si dhe menaxhimin e burimeve të videos, siç janë pajisjet e kapjes së videos, kamerat web ose përmbajtja e ekranit e dalë nga aplikacionet. Për shembull, PipeWire ofron mundësinë e organizimit të bashkëpunimit midis disa aplikacioneve me kamerën web dhe zgjidh probleme me kapjen e sigurt të përmbajtjes së ekranit dhe aksesin e largët në ekran në një mjedis Wayland.
Kur përdoret si server zëri, PipeWire mund të sigurojë vonesa minimale dhe të ofrojë funksionalitet që kombinon mundësitë e PulseAudio dhe JACK, duke përfshirë nevojat e sistemeve për përpunimin profesional të zërit, që PulseAudio nuk mund t'i përmbushte. Për më tepër, PipeWire ofron një model të zgjeruar sigurie, i cili lejon menaxhimin e aksesit në nivelin e pajisjeve të veçanta dhe rrjedhave specifike, dhe thjeshton organizimin e kalimit të zërit dhe videos nga dhe në kontejnerë të izoluar. Një nga objektivat kryesorë është mbështetja e aplikacioneve të vetë-mjaftueshme në formatin Flatpak dhe funksionimi në stakun grafik të bazuar në Wayland.
NĂ« versionin e ri:
- Në modelin e përpunimit të rrjedhave të të dhënave sipas grafit të nyjeve është shtuar mbështetje për përpunimin asinkron, ku grafi i nyjeve nuk bllokohet në mungesë të daljes nga një nyje e caktuar, por vazhdon të punojë duke përdorur të dhënat nga nyja, të marra në ciklin e kaluar. Në këtë mënyrë, me një vonesë prej një cikli, arrihet të shmangen situatat kur një nyje bllokon punën e nyjeve të tjera në graf.
- ĂshtĂ« realizuar koncepti i grupeve tĂ« nyjeve tĂ« sinkronizuara (node.sync-group), qĂ« lejon krijimin e grupeve tĂ« nyjeve, tĂ« aktivizuara njĂ«kohĂ«sisht nga planifikuesi. Funksioni mund tĂ« pĂ«rdoret pĂ«r planifikimin e aktivizimin tĂ« nyjeve nĂ« fillim tĂ« transportit JACK.
- Janë përmirësuar informacionet për gabimet në skedarin e konfigurimit, duke shtuar përmendjen e vendit ku është bërë gabimi në cilësime (numri i rreshtit dhe pozita në rresht).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r teknologjinĂ« Explicit Sync, e cila u mundĂ«son aplikacioneve tĂ« informojnĂ« menaxherin e kompozit qĂ« bazohet nĂ« protokollin Wayland pĂ«r gatishmĂ«rinĂ« e daljes sĂ« kadrave nĂ« ekran, çka sjell mundĂ«sinĂ« pĂ«r tĂ« reduktuar vonesat dhe pĂ«r t'u shmangur nga shfaqja e artefakteve nĂ« daljen grafike. NĂ« veçanti, Explicit Sync zgjidh problemet me shkeljen e daljes dhe ngritjet nĂ« sistemet me GPU NVIDIA dhe mbĂ«shtetje aktive tĂ« Wayland.
- ĂshtĂ« realizuar mundĂ«sia e pĂ«rcaktimit tĂ« metadata-ve tĂ« detyrueshme gjatĂ« pajtimit tĂ« parametrave tĂ« buffers, qĂ« pĂ«rdoren pĂ«r tĂ« mbĂ«shtetur "Explicit Sync".
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r krijimin dhe pĂ«rdorimin e disa cikleve tĂ« pĂ«rpunimit tĂ« tĂ« dhĂ«nave (data-loop) nĂ« klient dhe server. NĂ« ciklet e pĂ«rpunimit tĂ« tĂ« dhĂ«nave janĂ« shtuar mundĂ«si pĂ«r lidhjen me bĂ«rthama tĂ« caktuara CPU dhe caktimin e prioriteteve.
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« ndryshuar nivelet e debug, qĂ« rregullojnĂ« daljen e informacionit nĂ« log, pa nevojĂ«n e rinisjes, duke pĂ«rdorur metadata.
- Logjika e lidhjes së peer-eve (nyjeve në grafit e rrjedhave të dhënave, që përcaktojnë burime të jashtme ose marrës të të dhënave) është rishikuar.
- Janë pranuar patçet për trajtimin e pajisjeve të shënuara si konfliktuese përmes ALSA UCM (Menaxheri i Rastit të Përdorimit).
- ĂshtĂ« shtuar moduli snapcast-discover pĂ«r transmetimin e pĂ«rmbajtjes nĂ« serverĂ«t SnapCast.
Burimi: opennet.ru
