The release of the project has PipeWire 0.3.35 been published , which develops a new generation multimedia server to replace PulseAudio. PipeWire has enhanced video streaming capabilities over PulseAudio, low latency audio processing, and a new security model for device and stream access control. The project is supported in the GNOME and already the default used in Fedora Linux. The project code is written in C and is distributed under the LGPLv2.1 license.
Major changes in PipeWire 0.3.35:
- Added support for S / PDIF protocol forwarding for digital audio transmission via optical connectors and HDMI.
- Codecs for Bluetooth are placed in separate plugins that are loaded dynamically.
- A series of important fixes related to MIDI support.
- Improved the skypeforlinux application by adding a binding that forces the use of the S16 format when transferring information about audio input and output devices. The change resolved an issue resulting in no audio from the subscriber at the other end of the connection.
- The number of audio formats available for mixing has been expanded.
- Added a new interface for loading modules. Plugins can use this interface to send a request to download spa plugins.
- Increased the size of the parameter buffer, which previously could not accommodate all the properties of nodes with a large number of channels.
- Provided activation of drivers when installing loopback connections.
- The server has implemented the device-restore extension, which allows using the pavucontrol utility to configure the IEC958 (S / PDIF) codecs supported by the audio output device.
Recall that PipeWire expands the scope of PulseAudio by processing any multimedia streams and is able to mix and redirect streams with video. PipeWire also provides capabilities to control video sources such as video capture devices, webcams, or display output from applications. For example, PipeWire enables multiple webcam applications to work together and solves problems with secure screen capture and remote screen access in Wayland environments.
PipeWire can also act as a low-latency sound server with functionality that combines capabilities PulseAudio and JACK , including for the needs of professional sound processing systems that PulseAudio could not claim. In addition, PipeWire offers an enhanced security model that allows device-specific and thread-specific access control and makes it easier to route audio and video from and to isolated containers. One of the main goals is to support self-contained applications in the Flatpak format and work in the graphics stack based on Wayland.
- Capture and play audio and video with minimal latency;
- Tools for processing video and sound in real time;
- Multi-process architecture that allows you to organize the sharing of content across multiple applications;
- A 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 by transferring file descriptors and accessing sound through shared ringbuffers;
- The ability to process multimedia data from any process;
- The presence of a plugin for GStreamer to simplify integration with existing applications;
- Support for isolated environments and Flatpak;
- Support for plugins in the format SPA (Simple Plugin API) and the ability to create plugins working in hard real time;
- Flexible system for coordinating the used multimedia formats and allocating buffers;
- Using a single background process to route audio and video. Ability to work in the form of 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 hardware video capture devices.