PipeWire 1.6.0 (Penicillin) released

submitted by

gitlab.freedesktop.org/pipewire/pipewire/-/rele…

This is the 1.6 release that is API and ABI compatible with previous
1.4.x releases.
This release contains some of the bigger changes that happened since
the 1.4 release last year, including:

  • An LDAC decoder was added for bluetooth.
  • SpanDSP for bluetooth packet loss concealment.
  • Safe parsing and building of PODs in shared memory.
  • Added support for metadata features. This is used to signal that
    the sync_timeline metadata supports the RELEASE operation.
  • Node commands and events can contain extra user data.
  • Support for more compressed format helper functions to create
    and parse formats.
  • Support for compile time max channels. The max channels was
    increased to 128.
  • Support for audio channel layouts was added. This makes it possible
    to set “audio.layout” = “5.1” instead of the more verbose
    audio.position = [ FL, FR, FC, LFE, SL, SR ]
  • Support for Capability Params was added. This can be used to
    negotiate capabilities on a link before format and buffer
    negotiation takes place.
  • More HDR colortypes are added.
  • Loops now have locking with priority inversion. Most code was adapted
    to use the faster locks instead of epoll/eventfd to update shared state.
  • Channel position are parsed from EDID data.
  • Channel maps are now set on ALSA.
  • The resampler now supports configurable window functions such
    as blackman and kaiser windows. The phases are now also calculated
    with fixed point math, which makes it more accurate.
  • Many bluetooth updates and improvements.
  • The filter-graph has an ffmpeg and ONNX plugin. The ffmpeg plugin
    can run an audio AVFilterGraph. The ONNX plugin can run some models
    such as the silero VAD.
  • Many AVB updates. Work is ongoing to merge the Milan protocol.
  • Support for v0 clients was removed.
  • The jack-tunnel module can now autoconnect ports.
  • ROC support multitrack layouts now.
  • Many RTP updates.
  • rlimits can now be set in the config file.
  • Thread reset on fork can now be configured. JACK clients expect this
    to be disabled.
  • node.exclusive is now enforced.
  • node.reliable enables reliable transport.
  • pw-cat supports sysex and midiclip as well as some more uncompressed
    formats. Options were added to set the container and codec formats
    as well as list the supported containers, codecs, layouts and channel
    names.
  • Documentation updates.
8
124

Log in to comment

8 Comments

Dang. That’s a big release.


When will PW become a total replacement for pulse?

it bothers my OCD that i still have both installed and PW seems to be dependent on pulse

Edit: i’m on debian, and even though pw has replaced pulse, there are still a bunch of pulseaudio packages and programs floating around on my system

It has been for quite a while. There should be no need for pulse. I haven’t had pulse installed for years.


What distro are you on that lets you have both installed? E.g. Arch linux’s pipewire-pulse package conflicts with the pulseaudio package. Do you mean when will programs start using PW directly instead of having to use pw-pulse?

Debian

But i installed pw a long time ago, so back then, they worked side by side… i guess none of the major upgrades auto removed it, so i just left it. I just assumed that if it has become a full replacement, the debian package manager would just drop it at some point

I bet you can install a pipewire-pulse package, and it will repkace your pulse installation (I have no debian experience)




debian moment



Support for sysex! Great news.


Insert image