Pas një vit zhvillimi, është formuar një degë e re e stabilizuar e serverit multimedial PipeWire 1.6.0, i cili zëvendëson serverin audio PulseAudio dhe karakterizohet nga ajo që sjell mjete për punë me rrjedhat video, mundësinë për përpunimin e tingullit me vonesa minimale dhe një model të ri sigurie për menaxhimin e qasjes në nivelin e pajisjeve dhe rrjedhave të veçanta. Projekti përdoret si standard në Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE dhe shumë shpërndarje të tjera të Linux-it. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën MIT.
PipeWire bazohet në një arkitekturë shumëprocesore, e cila lejon ndarjen e përmbajtjes midis disa aplikacioneve. Ofron mundësi për trajtimin e çdo lloji të rrjedhave multimedia, përzierjen 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 nxjerrë nga aplikacione. PipeWire mundëson bashkëpunimin midis disa aplikacioneve me kamerën web dhe zgjidh problemet me kapjen e sigurt të përmbajtjes së ekranit dhe qasjen e largët në ekran në ambientin Wayland.
Kur përdoret si audio server, PipeWire mund të sigurojë vonesa minimale dhe të ofrojë funksionalitet që kombinon mundësitë e PulseAudio dhe JACK, duke marrë parasysh nevojat e sistemeve të përpunimit profesional të zërit, për të cilat PulseAudio nuk mund të pretendonte. PipeWire ofron një model të avancuar sigurie, i cili lejon kontrollin e aksesit në nivelin e pajisjeve individuale dhe rrjedhave specifike. Modeli i zbatuar i aksesit e thjeshton kalimin e zërit dhe videos nga kontejnerët e izoluar dhe në to.
Në këtë version të ri:
- Shtuar një dekoder për kodin e zërit LDAC, i përdorur për transmetimin e zërit me cilësi të lartë mbi Bluetooth. Biblioteka libldac përdoret për dekodimin.
- Shtuar opsioni 'bluez5-plc-spandsp' për të kompensuar humbjen e pakove gjatë transmetimit të zërit mbi Bluetooth, duke përdorur aftësitë e bibliotekës SpanDSP.
- Realizuar një implementim të sigurt të funksioneve për analizimin dhe krijimin e objekteve të serializuara në formatin POD (Plain Old Data) në memorjen e ndarë.
- Krijuar mundësia për të transmetuar përmes metadatas informacionin mbi mbështetje të mundësive shtesë nga nyjet PipeWire, që mund të përdoret për sinkronizimin e funksionaliteteve të avancuara, si mbështetje për operacionin RELEASE.
- Shtuar mbështetje për bashkëngjitjen e të dhënave të përdoruesit të tjera në komandat dhe ngjarjet e transmetuara midis nyjeve.
- Realizuar funksione shtesë ndihmëse për krijimin dhe analizes e formateve të kompresimit.
- Limiti i vendosur si standart për numrin maksimal të kanaleve është rritur në 128. Shtuar mundësinë për të tejkaluar këtë limit gjatë fazës së kompilimit.
- Shtuar konfigurimi «audio.layout» për përcaktimin e një skeme shumëkanalëshe të zërit (p.sh., «audio.layout = 5.1») pa nevojën për të listuar pozitat e kanaleve («audio.position = [ FL, FR, FC, LFE, SL, SR ]»).
- Shtuar mekanizmi «Capability Params» për harmonizimin e mundësive të lidhjes në fazën e caktimit të formatit dhe bufferëve.
- Shtuar mbështetje për tipa të rinj të paraqitjes së ngjyrave (colortype) për HDR.
- Në ciklet e përpunimit të ngjarjeve, është zbatuar mbështetje për bllokimet me inverzim prioriteti, duke parandaluar situatat kur një rrjedhë me prioritet të lartë duhet të presë lirimin e bllokimit që është vendosur nga një rrjedhë me prioritet të ulët. Për sinkronizimin e gjendjes mes rrjedhave janë përdorur bllokime të lehta në vend të epoll dhe eventfd.
- Shtuar mbështetje për përcaktimin e pozites së kanalit përmes analizës së të dhënave EDID.
- Siguruar transmetimi në nën-sistemin ALSA të hartës së kanaleve të zërit shumëkanalor (cilin kanal në të djathtë, cilin të majtë, etj.).
- Bërë shumë përmirësime që lidhen me Bluetooth, RTP (Protokolli i Transportit në Kohë Reale) dhe AVB (Audio Video Bridging).
- Vazhduar puna mbi implementimin e protokollit të rrjetit Milan për transmetimin e të dhënave multimediale në kohë reale.
- Sistemi i ndryshimit të frekuencës së mostrës (resampler) ka fituar mbështetje për funksionet e personalizuara të zbutjes së distorsionit, si Blackman dhe Kaiser. Për të përmirësuar saktësinë e llogaritjeve të fazave, janë angazhuar llogaritjet me pikët fikse.
- Krijohet mundësia e përdorimit në grafikun e nyjave të filtrave audio të FFmpeg dhe modeleve të AI për përpunimin e zërit mbi bazën e ONNX, si detektori i zërit Silero.
- Mbështetja për klientët që përdorin protokollin v0, i cili përdorej në versionet e hershme të PipeWire, është ndërprerë.
- Moduli jack-tunnel ka fituar mbështetje për lidhjen automatike të porteve.
- Për sistemin e transmetimit ROC është realizuar mbështetje për kompozita me shumë pista.
- Krijohet mundësia e ndryshimit të kufijve për burimet (rlimit) përmes skedarit të konfigurimit.
- ĂshtĂ« shtuar pronĂ«sia 'thread.reset-on-fork' pĂ«r tĂ« menaxhuar rivendosjen e flukseve gjatĂ« thirrjes sĂ« fork. PĂ«r klientĂ«t JACK, pĂ«r tĂ« riprodhuar sjelljen e JACK, Ă«shtĂ« e mundur tĂ« çaktivizohet rivendosja e flukseve duke vendosur 'thread.reset-on-fork=false'.
- ĂshtĂ« shtuar flagu node.exclusive, i cili garanton se porta ka vetĂ«m njĂ« burim dhe njĂ« konsumator, gjĂ« qĂ« Ă«shtĂ« e nevojshme pĂ«r tĂ« implementuar mekanizmin e Synchronizimit Eksplisit.
- Shtohet flag node.reliable për modin e sigurimit të dorës.
- Utiilita pw-cat tani mbështet mesazhet MIDI SysEx (System Exclusive, për konfigurimin e sintaktorëve), kontejnerin midiclip dhe formate audio pa kompresim. Shtohen opsione për caktimin e formateve të kontejnerëve audio dhe kodekëve, si dhe shikimin e listës së kontejnerëve mbështetës, kodekëve, konfigurimeve 3D, dhe emrave të kanaleve.
Burimi: opennet.ru
