Апублікаваны выпуск праекта PipeWire 0.3.33, які развівае мультымедыйны сервер новага пакалення, які ідзе на замену PulseAudio. PipeWire пашырае магчымасці PulseAudio сродкамі для працы са струменямі відэа, магчымасцю апрацоўкі гуку з мінімальнымі затрымкамі і новай мадэллю бяспекі для кіравання доступам на ўзроўні асобных прылад і струменяў. Праект падтрымліваецца ў GNOME і ўжо па змаўчанні прымяняецца ў Fedora Linux. Код праекту напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй LGPLv2.1.
Асноўныя змены ў PipeWire 0.3.33:
- Рэалізаваная магчымасць аўтаматычнага пераключэння паміж Bluetooth-профілямі HSP (рэжым гарнітуры) і A2DP (высакаякасная выснова гуку).
- У профілі Pro Audio палепшана падтрымка віртуальных крыніц і прылад вываду гуку.
- Палепшана ўзгадненне мадыфікатараў фармату пры сумесным выкарыстанні буфераў прамога доступу да памяці (DMA-BUF) некалькімі кліентамі.
- У графе мультымедыйных вузлоў рэалізавана падтрымка адначасовага выкарыстання некалькіх частот дыскрэтызацыі (па змаўчанні адключана).
- У праслойцы для сумяшчальнасці з PulseAudio рэалізаваны модуль module-switch-on-connect для эмуляцыі паводзін PulseAudio пры падлучэнні новых прылад.
Нагадаем, PipeWire пашырае вобласць ужывання PulseAudio апрацоўкай любых мультымедыйных струменяў і здольны змешваць і перанакіроўваць струмені з відэа. PipeWire таксама дае магчымасці для кіравання крыніцамі відэа, такімі як прылады захопу відэа, web-камеры або якое выводзіцца прыкладаннямі змесціва экрана. Напрыклад, PipeWire дае магчымасць арганізаваць сумесную працу некалькіх прыкладанняў з вэб-камерай і вырашае праблемы з бяспечным захопам змесціва экрана і аддаленым доступам да экрана ў асяроддзі Wayland.
PipeWire таксама можа выступаць у ролі гукавога сервера, які забяспечвае мінімальныя затрымкі і які прадстаўляе функцыянальнасць, камбінавальную магчымасці PulseAudio і JACK, у тым ліку якая ўлічвае запатрабаванні сістэм прафесійнай апрацоўкі гуку, на якую не мог прэтэндаваць PulseAudio. Акрамя таго, PipeWire прапануе пашыраную мадэль бяспекі, якая дазваляе кіраваць доступам на ўзроўні асобных прылад і канкрэтных патокаў, і якая спрашчае арганізацыю пракіду гуку і відэа з ізаляваных кантэйнераў і ў іх. Адной з галоўных мэт з'яўляецца падтрымка самадастатковых прыкладанняў у фармаце Flatpak і праца ў графічным стэку на базе Wayland.
Асноўныя магчымасці:
- Захоп і ўзнаўленне гуку і відэа з мінімальнымі затрымкамі;
- Сродкі для апрацоўкі відэа і гуку ў рэжыме рэальнага часу;
- Шматпрацэсная архітэктура, якая дазваляе арганізаваць сумесны доступ да кантэнту некалькіх прыкладанняў;
- Мадэль апрацоўкі на падставе графа мультымедыйных вузлоў з падтрымкай цыклаў зваротнай сувязі і атамарных абнаўленняў графа. Дапушчаецца падлучэнне апрацоўшчыкаў як усярэдзіне сервера, так і вонкавых убудоў;
- Эфектыўны інтэрфейс доступу да відэаструменяў праз перадачу файлавых дэскрыптараў і доступу да гуку праз сумесна выкарыстоўваныя колцавыя буферы (shared ringbuffer);
- Магчымасць апрацоўкі мультымедыйных даных ад любых працэсаў;
- Наяўнасць плагіна да GStreamer для спрашчэння інтэграцыі з існуючымі праграмамі;
- Падтрымка ізаляваных акружэнняў і Flatpak;
- Падтрымка плагінаў у фармаце SPA (Simple Plugin API) і магчымасць стварэння плагінаў, якія працуюць у рэжыме жорсткага рэальнага часу;
- Гнуткая сістэма ўзгаднення мультымедыйных фарматаў і вылучэнні буфераў;
- Выкарыстанне аднаго фонавага працэсу для маршрутызацыі гуку і відэа. Магчымасць працы ў форме гукавога сервера, хаба для падавання відэа прыкладанням (напрыклад, для gnome-shell screencast API) і сервера для кіравання доступам да апаратных прылад захопу відэа.
Крыніца: opennet.ru