PipeWire Media Server 0.3.33 Release

The release of the PipeWire 0.3.33 project has been published, developing a new generation multimedia server to replace PulseAudio. PipeWire extends PulseAudio's capabilities with video stream processing, low-latency audio processing, and a new security model for device- and stream-level access control. The project is supported in GNOME and is already used by default in Fedora Linux. The project code is written in C and is distributed under the LGPLv2.1 license.

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 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