The PipeWire project is immensely proud to announce the 1.0 release of PipeWire.

It is API and ABI compatible with previous 0.3.x releases.

[…snip…]

Happy Holidays!

Highlights

  • Fix a memfd/dmabuf leak when uploading buffers while shutting down.
  • Handle concurrent jack_port_get_buffer() calls because ardour seems to be doing this.
  • Improve time reporting (less jitter) in ALSA when using IRQ.
  • Many doc improvements.

PipeWire

  • Respect PIPEWIRE_DLCLOSE everywhere, remove pw_in_valgrind().
  • Remove a warning when a client tries to change ignored properties.

Modules

  • Fix a memfd/dmabuf leak when uploading buffers while shutting down.
  • Fix a potential segfault when copying mix structures. (#3658)
  • Avoid races in setrlimit in module-rt.
  • Fix a memory leak in filter-chain.
  • Set rtp.ptime on senders, not receivers.
  • The ROC modules were ported to ROC 0.3

SPA

  • Improve time reporting (less jitter) in ALSA when using IRQ. (#3657)
  • Add latency param query in libcamera.
  • Fix some compiler warnings.
  • The EVL plugin was updated.

Bluetooth

  • LC3 codec and compatibility improvements.

Pulse server

  • Fix emission of events when a sink/source state changes. (#3660)

JACK

  • Improve transport and time handling. Use unique ids to make consistent snapshots of the current time and transport.
  • Avoid enumerating port params that we are not going to use.
  • Optimize buffer reuse.
  • Handle concurrent jack_port_get_buffer() calls because ardour seems to be doing this. (#3632)

Docs

  • Many doc improvements.
  • Add man pages for pw-dump, pw-loopback, modules, pipewire-pulse.
  • Manpages are now made with Doxygen.
  • Add docs for pulse-modules