News: 0001473698

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

PipeWire 1.2 Released With Async Processing, Explicit Sync & Other Features

([PipeWire] 2 Hours Ago PipeWire 1.2)


PipeWire 1.2 was christened today as the latest major feature update to this solution common to the modern Linux desktop for managing audio/video streams.

PipeWire 1.2 brings many new features like [1]async processing and explicit sync support , Snap packaging support, [2]streaming to Snapcast servers for multi-room audio , and many other additions.

The just-released PipeWire 1.2 [3]announcement sums up the major changes in this new version as:

- Support for asynchronous processing has been implemented. Nodes can choose (or be forced) to be scheduled asynchronously. The graph will not wait for the output of the node to continue processing but it will use the output of the previous cycle (or silence) instead. This adds one cycle of latency but it can avoid having some nodes blocking the processing graph. Non realtime streams and filters now also use this asynchronous processing instead of their own slightly broken version.

- The concept of node.sync-group was added. This groups nodes with overlapping sync-group together when one of them sets the node.sync = true. This is now used to make sure all nodes are scheduled together when JACK transport is started so that they all see the same transport time.

- Config parsing errors are reported earlier and much better with line and column numbers where the parsing started to fail.

- Add support for mandatory metadata when negotiating buffer parameters. This can be used to only negotiate extra buffer planes when certain metadata is negotiated. One use case is the explicit sync support that requires 2 extra fds for the timelines.

- Explicit sync metadata and support was added.

- Support was added for making and using multiple data-loops in the server and clients. Support for CPU affinity and priorities was added to the data-loops as well.

- The log topic debug levels can now be changed at runtime with metadata.

- The log levels in the pulse server can be dynamically changed with a /core message.

- The UCM conflicting devices patches were merged.

- Add snapcast-discover module to stream to snapcast servers.

- Rework how peers are linked and the counters are updated. Resume the peers when a node is unlinked and not yet processed. This should cause less occasional dropouts in the graph when reconnecting things.

- Many GStreamer element updates.

- Many more fixes and improvements.

PipeWire 1.2 looks like a great update for H2'2024 Linux desktop distributions.



[1] https://www.phoronix.com/news/PipeWire-1.2-RC

[2] https://www.phoronix.com/news/PipeWire-1.2-RC2

[3] https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.2.0



Danny3

rene

rene

bug77

avis

Weasel

duby229

damentz

MorrisS.

File cabinet:
A four drawer, manually activated trash compactor.