PipeWire Media Server 0.3.35 Release

The release of the PipeWire 0.3.35 project has been published, which develops a new generation multimedia server that replaces PulseAudio. PipeWire has enhanced video streaming capabilities compared to PulseAudio, the ability to process audio with minimal latency, and a new security model for per-device and per-stream access control. The project is maintained on GNOME and is already used by default on Fedora Linux. The project code is written in C language and distributed under the LGPLv2.1 license.

Main 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 moved to separate plugins that are loaded dynamically.
  • Made a series of important fixes related to MIDI support.
  • The skypeforlinux application has been improved by adding a binding that forces the use of the S16 format when transmitting information about audio input and output devices. The change solved the problem resulting in no sound from the subscriber on the other end of the connection.
  • The number of sound formats available for mixing has been expanded.
  • Added a new interface for loading modules. Plugins can use this interface to send a request to load spa plugins.
  • The size of the parameter buffer has been increased, which previously could not accommodate all the properties of nodes with a large number of channels.
  • Activation of drivers is ensured when establishing looped connections (Loopback).
  • The server implements 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 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 low-latency audio server and provide functionality that combines the power of PulseAudio and JACK, including taking into account the needs of professional audio processing systems, which PulseAudio could not claim. In addition, PipeWire offers an advanced security model that allows you to manage access on a per-device and per-stream basis, making 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 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

Add a comment