PipeWire 1.0.0 мультимедиа сервери чыгарылды, бул долбоордун биринчи туруктуу чыгарылышын белгилейт. 1.0 версиясы API жана ABI деңгээлдеринде 0.3 бутагы менен артка шайкеш келет. PipeWire PulseAudio аудио серверинин мураскери катары жайгаштырылган жана видео агым мүмкүнчүлүктөрүн, аз кечигүү менен аудио иштетүүнү жана түзмөк жана агым деңгээлинде кирүүнү башкаруу үчүн жаңы коопсуздук моделин камтыйт. Долбоор GNOME'до колдоого алынат жана Fedora'да буга чейин демейки версия болуп саналат. Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE жана башка көптөгөн дистрибутивдер LinuxДолбоордун коду Си тилинде жазылган жана LGPLv2.1 лицензиясы боюнча таратылат.
PipeWire ар кандай мультимедиялык агымдарды иштетүү үчүн мүмкүнчүлүктөрдү камсыз кылат, видео агымдарды аралаштырып жана кайра багыттоого жөндөмдүү жана видео тартуу түзмөктөрү, веб камералар же тиркемелер тарабынан көрсөтүлгөн экран мазмуну сыяктуу видео булактарын башкаруу үчүн колдонулушу мүмкүн. Мисалы, PipeWire бир нече веб-камера тиркемелерин чогуу иштөөгө мүмкүндүк берет жана Wayland чөйрөсүндө коопсуз экранды тартуу жана алыстан экранга кирүү менен көйгөйлөрдү чечет.
PipeWire үн катары да иштей алат сервер, бул минималдуу кечигүүнү камсыз кылат жана PulseAudio жана JACK мүмкүнчүлүктөрүн айкалыштырган функцияны камсыз кылат, анын ичинде PulseAudio жетише албаган кесипкөй аудио иштетүү системаларынын муктаждыктарын канааттандыруу. Андан тышкары, PipeWire түзмөк жана агым деңгээлинде кирүүнү башкарууга мүмкүндүк берген өркүндөтүлгөн коопсуздук моделин сунуштайт, бул аудио жана видеону обочолонгон контейнерлерге жана алардан багыттоону жөнөкөйлөтөт. Негизги максаттардын бири - Flatpak форматындагы өзүнчө тиркемелерди колдоо жана Wayland негизиндеги графикалык стекте иштетүү.
Негизги өзгөчөлүктөр:
- Минималдуу кечигүү менен аудио жана видеону тартуу жана ойнотуу;
- реалдуу убакытта видео жана аудио иштетүү үчүн аспаптар;
- Бир нече тиркемелердин мазмунуна жалпы кирүү мүмкүнчүлүгүн уюштурууга мүмкүндүк берген көп процесстик архитектура;
- Мультимедиа түйүндөрүнүн графигине негизделген кайра иштетүү модели, пикир алмашуу циклдерин жана атомдук графикти жаңыртууну колдойт. Иштетүүчүлөрдү сервердин ичинде да, тышкы плагиндер менен да туташтыруу мүмкүн;
- Файлдын дескрипторлорун өткөрүп берүү жана бөлүшүлгөн шакек буферлери аркылуу аудиого жетүү аркылуу видео агымдарга жетүү үчүн эффективдүү интерфейс;
- Ар кандай процесстерден мультимедиялык маалыматтарды иштетүү мүмкүнчүлүгү;
- Учурдагы тиркемелер менен интеграцияны жөнөкөйлөтүү үчүн GStreamer үчүн плагиндин болушу;
- обочолонгон чөйрөлөрдү жана Flatpak колдоо;
- SPA форматындагы плагиндерди колдоо (Simple Plugin API) жана кыйын реалдуу убакытта иштеген плагиндерди түзүү мүмкүнчүлүгү;
- Колдонулган мультимедиялык форматтарды координациялоо жана буферлерди бөлүштүрүү үчүн ийкемдүү система;
- Аудио жана видеону багыттоо үчүн бирдиктүү фон процессин колдонуу. Аудио сервер, тиркемелерди видео менен камсыз кылуу үчүн хаб (мисалы, gnome-shell скринкаст API үчүн) жана аппараттык видео тартуу түзүлүштөрүнө кирүү мүмкүнчүлүгүн башкаруу үчүн сервер түрүндө иштөө мүмкүнчүлүгү.
Тармак 0.3 менен салыштырылган өзгөрүүлөрдүн арасында, PipeWireди JACK үн системасынын толук кандуу кардары катары колдонууга мүмкүндүк берүүчү jackdbus колдоосунун демейки кошулуусу белгиленген. JACK деңгээлиндеги күтүү убактысына жетүү үчүн ALSA Pro-Audio профилинде IRQ негизиндеги графикти колдонот. Webrtc-аудио-процессингдин эски жана жаңы версияларына колдоо кошулду. pw-cat үчүн DFF DSD файлдарына колдоо кошулду. GNU/Hurd платформасына колдоо кошулду.
Source: opennet.ru
