Pas almost një vit zhvillimi, është formuar një degë e re stabile e serverit multimedial PipeWire 1.6.0, i cili zëvendëson serverin audio PulseAudio dhe shquhet nga shtimi i mjeteve për procesimin e rrjedhave video, mundësia për të përpunuar audio me vonesa minimale dhe një model të ri sigurie për menaxhimin e aksesit në nivelin e pajisjeve dhe rrjedhave të veçanta. Projekti është përdorur si standard në Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE dhe shumë distribucione të tjera Linux. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën MIT.
PipeWire bazohet në një arkitekturë multi-procesore, e cila lejon ndarjen e përmbajtjes ndërmjet disa aplikacioneve. Ofron mundësi për përpunimin e çdo lloj rrjedhe multimediale, 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 cila shfaqet nga aplikacionet. PipeWire mundëson bashkëpunimin e disa aplikacioneve me kamerën web dhe zgjidh problemet e kapjes së sigurt të përmbajtjes së ekranit dhe qasjes së largët në ekranin në një mjedis 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, me një fokus në nevojat e sistemeve profesionale të përpunimit të audios, të cilat nuk mund të përmbusheshin nga PulseAudio. PipeWire ofron një model të avansuar sigurie që lejon menaxhimin e aksesit në nivelin e pajisjeve të veçanta dhe rrjedhave të veçanta. Modeli i implementuar i aksesit lehtëson kalimin e audios dhe videos nga kontejnerët e izoluar dhe në to.
NĂ« versionin e ri:
- është shtuar një dekodues për kodekun audio LDAC, i cili përdoret për të transmetuar audio me cilësi të lartë përmes Bluetooth. Biblioteka libldac është angazhuar për dekodimin.
- është shtuar një opsion 'bluez5-plc-spandsp' për të kompensuar humbjen e paketeve gjatë transmetimit të audios përmes Bluetooth, duke përdorur kapacitetet e bibliotekës SpanDSP.
- është shtuar një implementim i sigurt i funksioneve për analizimin dhe krijimin e objekteve të serializuara në formatin POD (Plain Old Data) në memorjen e ndarë.
- Implementimi i mundësisë për të transferuar përmes meta të dhënave informacione mbi mbështetje nga nyjet PipeWire për funksionalitete shtesë, të cilat mund të përdoren për sinkronizimin e përdorimit të funksionalitetit të avancuar, siç është mbështetje për operacionin RELEASE.
- Shtuar mbështetje për lidhjen e të dhënave shtesë përdoruesi në komandat dhe ngjarjet e transmetuara midis nyjeve.
- Implementuar funksione të tjera ndihmëse për krijimin dhe analizimin e formateve të kompresimit.
- Limiti i caktuar si parazgjedhje për numrin maksimal të kanaleve është rritur në 128. Shtuar mundësia për të tejkaluar këtë kufi në fazën e kompaktimit.
- Shtuar cilësimi 'audio.layout' për caktimin e skemës së zërit shumëkanalor (p.sh., 'audio.layout = 5.1') pa pasur nevojë për të enumeruar pozitat e kanaleve ('audio.position = [ FL, FR, FC, LFE, SL, SR ]').
- Shtuar mekanizmi 'Capability Params' për të miratuar mundësitë e lidhjes në fazën para përcaktimit të formatit dhe bufeve.
- Shtuar mbështetje për lloje të reja të përfaqësimit të ngjyrave (colortype) për HDR.
- Në ciklet e trajtimit të ngjarjeve, është implementuar mbështetje për bllokimet me inversion të prioriteteve, duke parandaluar situatat kur një rrjedhë me prioritet të lartë duhet të presë për çlirimin e një bllokimi të vendosur nga një rrjedhë me prioritet të ulët. Për sinkronizimin e gjendjes midis rrjedhave, janë përdorur bllokime të lehta në vend të epoll dhe eventfd.
- Shtuar mbështetje për përcaktimin e pozitat e kanalit përmes analizimit të të dhënave EDID.
- Siguruar transferimin në sistemin ALSA të hartës së kanaleve të zërit voluminoz (cila kanal është djathtas, cila është majtas, etj.).
- Realizuar shumë përmirësime të lidhura me Bluetooth, RTP (Protokolli i Transportit në Koha Reale) dhe AVB (Audio Video Bridging).
- Vazhduar puna për realizimin e protokollit rrjetor Milan për transferimin e të dhënave multimediale në kohë reale.
- Sistemimi i ndryshimit të frekuencës së mostrave (resampler) është zgjeruar me mbështetje për funksione të personalizueshme të zbutjes së deformimeve, të tilla si Blackman dhe Kaiser. Për të përmirësuar saktësinë e llogaritjes së fazave, janë përdorur llogaritje me presion fiks.
- Krijuar mundësinë e përdorimit të filtrave të zërit FFmpeg dhe modeleve AI për përpunimin e zërit në bazë të ONNX, siç është detektori i zërit Silero.
- Ndalimi i mbështetjes për klientët që përdorin protokollin v0, i përdorur në versionet e hershme të PipeWire.
- Moduli jack-tunnel ka shtuar mbështetje për lidhjen automatike të porteve.
- Për sistemin e transmetimit të të dhënave ROC është realizuar mbështetje për konfigurime me shumë pista.
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« ndryshuar kufijtĂ« e burimeve (rlimit) pĂ«rmes skedĂ«s sĂ« konfigurimit.
- ĂshtĂ« shtuar pronĂ«si «thread.reset-on-fork» pĂ«r menaxhimin e rikthimit tĂ« thread-eve kur thirret fork. PĂ«r klientĂ«t JACK pĂ«r tĂ« pĂ«rsĂ«ritur sjelljen JACK mund tĂ« ç'aktivizohet rikthimi i thread-eve duke vendosur «thread.reset-on-fork=false».
- ĂshtĂ« shtuar flamuri node.exclusive, i cili garanton se porta ka vetĂ«m njĂ« burim dhe njĂ« konsumator, qĂ« Ă«shtĂ« e nevojshme pĂ«r zbatimin e mekanizmit Explicit Sync.
- ĂshtĂ« shtuar flamuri node.reliable pĂ«r modin e dorĂ«zimit tĂ« garantuar.
- Në utilitën pw-cat është shtuar mbështetje për mesazhet MIDI SysEx (System Exclusive, për konfiguracionin e sintetizatorëve), kontejnerin midiclip dhe formate të zërit pa komprimim. Janë shtuar opcione për vendosjen e formateve të kontejnerëve audio dhe kodekeve, si dhe për shqyrtimin e listës së kontejnerëve të mbështetur, kodekeve, konfigurimeve të zërit 3D dhe emrave të kanaleve.
Burimi: opennet.ru
