ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° PipeWire 0.3.33, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ, ΠΈΠ΄ΡΡΠΈΠΉ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ PulseAudio. PipeWire ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ PulseAudio ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ ΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² GNOME ΠΈ ΡΠΆΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Fedora Linux. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2.1.
Main changes in PipeWire 0.3.33:
- The ability to automatically switch between Bluetooth profiles HSP (headset mode) and A2DP (high-quality audio output) has been implemented.
- The Pro Audio profile has improved support for virtual sources and audio output devices.
- Improved format modifier negotiation when sharing direct memory access buffers (DMA-BUFs) between multiple clients.
- The multimedia node graph now supports simultaneous use of multiple sampling rates (disabled by default).
- The PulseAudio compatibility layer implements a module-switch-on-connect module to emulate the behavior of PulseAudio when connecting new devices.
Recall that PipeWire extends the scope of PulseAudio by processing any multimedia streams and is able to mix and redirect video streams. PipeWire also provides options for managing video sources such as video capture devices, webcams, or screen content displayed by applications. For example, PipeWire allows multiple applications to work together with a webcam and solves problems with secure screen capture and remote screen sharing in the Wayland environment.
PipeWire can also act as a sound Server, which ensures minimal latency and provides functionality that combines the capabilities of PulseAudio and JACK, including addressing the needs of professional audio processing systems, which PulseAudio could not achieve. Furthermore, PipeWire offers an advanced security model that allows access control at the device and stream level, simplifying the routing of audio and video to and from isolated containers. One of the main goals is to support self-contained applications in the Flatpak format and run on a Wayland-based graphics stack.
Key features:
- Capture and playback audio and video with minimal delays;
- Tools for processing video and sound in real time;
- Multi-process architecture that allows sharing content of several applications;
- Processing model based on a graph of multimedia nodes with support for feedback loops and atomic updates of the graph. It is allowed to connect handlers both inside the server and external plugins;
- Efficient interface for accessing video streams via file descriptors and accessing audio via shared ringbuffer;
- Ability to process multimedia data from any processes;
- The presence of a plugin for GStreamer to simplify integration with existing applications;
- Support for isolated environments and Flatpak;
- Support for plugins in the SPA format (Simple Plugin API) and the ability to create plugins that work in hard real time;
- Flexible system for negotiating used multimedia formats and buffer allocation;
- Using a single background process to route audio and video. Ability to work as a sound server, a hub for providing video to applications (for example, for the gnome-shell screencast API) and a server for controlling access to video capture hardware devices.
Source: opennet.ru
