The release of PipeWire 0.3.35 has been announced, developing a next-generation multimedia server designed to replace PulseAudio. PipeWire offers enhanced capabilities compared to PulseAudio for handling video streams, the ability to process audio with minimal latency, and a new security model for managing access at the level of individual devices and streams. The project is supported in GNOME and is already used by default in Fedora Linux. The project's code is written in C and is distributed under the LGPLv2.1 license.
Key changes in PipeWire 0.3.35:
- S/PDF protocol passthrough support has been added for transmitting digital audio over optical connections and HDMI.
- Bluetooth codecs have been moved to separate plugins that are loaded dynamically.
- A series of important fixes related to MIDI support have been implemented.
- The working of the skypeforlinux application has improved by adding a binding that enforces the use of the S16 format when transmitting information about input and output devices. This change resolved an issue that caused the absence of sound from the subscriber on the other end of the connection.
- The number of audio formats available for mixing has been expanded.
- A new interface for loading modules has been added. Plugins can use this interface to request the loading of spa plugins.
- The parameter buffer size has been increased, which previously may not have accommodated all properties of nodes with a large number of channels.
- Drivers are activated when setting up loopback connections.
- In server The device-restore extension has been implemented, allowing codecs IEC958 (S/PDF), supported by the audio output device, to be configured through the pavucontrol utility.
Remember, PipeWire expands the use of PulseAudio by processing any multimedia streams and is capable of mixing and redirecting video streams. PipeWire also provides capabilities for managing video sources, such as video capture devices, webcams, or content being output by applications. For example, PipeWire allows several applications to collaborate on a webcam and addresses issues with secure screen content capture and remote access to the screen in a Wayland environment.
PipeWire can also serve as an audio server, providing minimal latency and offering functionality that combines the capabilities of PulseAudio and JACK, including addressing the needs of professional audio processing systems that PulseAudio could not cater to. Additionally, PipeWire provides an advanced security model that allows management of access at the level of individual devices and specific streams, simplifying the organization of audio and video passthrough from and to isolated containers. One of the main goals is to support self-sufficient applications in Flatpak format and to operate within the graphical stack based on Wayland.
Main Features:
- Capture and playback of sound and video with minimal latency;
- Tools for real-time audio and video processing;
- Multiprocess architecture allowing collaborative access to content across multiple applications;
- A model for processing based on a multimedia node graph with support for feedback loops and atomic graph updates. It allows for handlers to be connected both inside the server and by external plugins;
- An efficient interface for accessing video streams via file descriptor passing and accessing audio through shared ring buffers;
- Ability to process multimedia data from any processes;
- A GStreamer plugin to simplify integration with existing applications;
- Support for isolated environments and Flatpak;
- Support for plugins in SPA (Simple Plugin API) format and the ability to create plugins that operate in hard real-time mode;
- A flexible system for negotiating media formats and allocating buffers;
- Using a single background process for routing audio and video. Ability to operate as an audio server, a hub for providing video to applications (e.g., for the gnome-shell screencast API), and a server for managing access to video capture hardware.
Source: opennet.ru
