mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-10-15 12:22:47 +00:00
0.3.68
This commit is contained in:
parent
148569279b
commit
950c4487e9
143
NEWS
143
NEWS
|
@ -1,3 +1,143 @@
|
||||||
|
# PipeWire 0.3.68 (2023-04-06)
|
||||||
|
|
||||||
|
This is a bugfix release that is API and ABI compatible with previous
|
||||||
|
0.3.x releases.
|
||||||
|
|
||||||
|
This release contains a huge number of changes, some of which might cause
|
||||||
|
regressions. Please report anything that seems to fail after the upgrade.
|
||||||
|
UCM devices in particular might have changed names, profiles and ports that
|
||||||
|
might require changes in custom scripts.
|
||||||
|
|
||||||
|
## Highlights
|
||||||
|
- Symbolic links to the pipewire binary are now used instead of recompiling
|
||||||
|
the same binary multiple times.
|
||||||
|
- Changes to the graph scheduler related to quantum/rate updates and
|
||||||
|
calculation of the node states. Things should start and switch between
|
||||||
|
quantums and rates more smoothly now and especially virtual devices should
|
||||||
|
now only run when required.
|
||||||
|
- A new RTP session module was added. This uses the Apple MIDI protocol
|
||||||
|
to configure low-latency bidirectional MIDI (and with a PipeWire specific
|
||||||
|
extension, also audio) between machines. OPUS encoding was added to the
|
||||||
|
RTP formats. The SAP module was separated from the rtp-sink/source module
|
||||||
|
to make it more usable.
|
||||||
|
- A new runtime debug property was added to all streams and nodes to trigger
|
||||||
|
a save of the raw samples to a wav file. Support for this has also been
|
||||||
|
added to the echo-canceler to debug potential issues.
|
||||||
|
- Module pulse-tunnel has improved rate matching and synchronization
|
||||||
|
support. It should also not drift anymore for capture devices.
|
||||||
|
- The link-factory now ignores by default the link.passive property. This means
|
||||||
|
that tools like pw-link or jack clients and wireplumber can't make passive
|
||||||
|
links anymore. The reason is that there is now much more advanced logic in
|
||||||
|
PipeWire itself to handle passive links based on node and port properties.
|
||||||
|
- The RAOP sink was ported to new OpenSSL functions. Digest passwords are
|
||||||
|
handled correctly now and support for more devices was added.
|
||||||
|
- The ACP code was updated with new PulseAudio UCM code: "Create multiple
|
||||||
|
profiles per verb for conflicting devices". This might change the names
|
||||||
|
of devices, profiles and ports so scripts might need to be updated.
|
||||||
|
- Upmixing is disabled again by default. We now ship config files that
|
||||||
|
distros can install to enable upmixing again. The reason being that PipeWire
|
||||||
|
should not apply fancy DSP processing to audio by default.
|
||||||
|
- Many cleanups and bugfixes, including some crashes and memory corruption
|
||||||
|
bugs.
|
||||||
|
|
||||||
|
## PipeWire
|
||||||
|
- Various FreeBSD compilation fixes.
|
||||||
|
- Don't crash when calling _connect twice in stream/filter. (#3091)
|
||||||
|
- Links are now installed instead of compiling the pipewire binary
|
||||||
|
multiple times.
|
||||||
|
- There is now a new core event bound_props that augments the bound_id event
|
||||||
|
with the global properties. This can be used to get the global.serial among
|
||||||
|
other global properties. It also makes it possible in the future to let the
|
||||||
|
server allocate unique names or uuids.
|
||||||
|
- Fix a bug where the server could go into an infinite reconfigure loop when
|
||||||
|
the samplerate of a driver would change.
|
||||||
|
- When a samplerate was forced, restore the previous best samplerate when the
|
||||||
|
samplerate is no longer forced. (#2133)
|
||||||
|
- Rework how the states of the nodes in the graph are calculated. A more
|
||||||
|
refined algorithm is now used that only runs nodes that need to run.
|
||||||
|
- Rework how the quantum change is applied to the graph. Drivers are now
|
||||||
|
responsible for using the new updated rate/quantum before starting a new
|
||||||
|
cycle. This avoids starting a cycle with an old quantum first.
|
||||||
|
- pw-stream and pw-filter will now ensure that the Trigger event is called
|
||||||
|
from the main thread.
|
||||||
|
- node.force-rate=0 will now force the node.rate on the graph, forcefully
|
||||||
|
switching the hardware into the new rate if possible. (#3026)
|
||||||
|
- Additional checks were added to the thread-loop to check locking order.
|
||||||
|
- Additional checks were added to pw-stream and pw-filter to check if methods
|
||||||
|
are called from the right thread context.
|
||||||
|
|
||||||
|
## modules
|
||||||
|
- A new RTP session module was added. This uses the Apple MIDI protocol
|
||||||
|
to configure bidirectional MIDI (or audio) between machines.
|
||||||
|
- SAP support was removed from module-rtp-source and module-rtp-sink and
|
||||||
|
moved to a separate module. This makes it possible to use the RTP modules
|
||||||
|
without SAP support as well.
|
||||||
|
- The echo-cancel module now has support to save the signals to a wav
|
||||||
|
file for debugging purposes.
|
||||||
|
- The RTP modules now have support for the OPUS codec.
|
||||||
|
- The RAOP module was ported to new openssl encryption functions and handles
|
||||||
|
digest passwords correctly now.
|
||||||
|
- module-raop-discover now has match rules to be able to select the streams
|
||||||
|
and set properties.
|
||||||
|
- Module pulse-tunnel has improved rate matching and synchronization
|
||||||
|
support. (#3093)
|
||||||
|
- Fix potential memory corruption and infinite loops because
|
||||||
|
module-pulse-tunnel was unloaded from the wrong thread.
|
||||||
|
- The link-factory now ignores by default the link.passive property. This means
|
||||||
|
that tools like pw-link or jack clients and wireplumber can't make passive
|
||||||
|
links anymore. The reason is that there is now much more advanced logic in
|
||||||
|
PipeWire itself to handle passive links based on node and port properties.
|
||||||
|
- module-echo-cancel will now clear its buffers after a suspend to avoid
|
||||||
|
playing stray samples.
|
||||||
|
- module-raop-sink will now handle 0 timing_port replies. (#3133)
|
||||||
|
|
||||||
|
## SPA
|
||||||
|
- The adapter module now has support for saving the raw audio to a wav
|
||||||
|
file for debugging purposes.
|
||||||
|
- The ACP code was updated with new PulseAudio UCM code: "Create multiple
|
||||||
|
profiles per verb for conflicting devices". This might change the names
|
||||||
|
of devices, profiles and ports so scripts might need to be updated.
|
||||||
|
- Upmixing was disabled again by default. We now ship config files that
|
||||||
|
distros can install to enable upmixing again. (#3081)
|
||||||
|
- audioadapter and audioconvert have seen improvements in the experimental
|
||||||
|
non-DSP/passthrough mode.
|
||||||
|
- Fix a potential race where the dummy drivers could fail to stop a timer
|
||||||
|
and cause endless warnings in the logs.
|
||||||
|
- The ALSA plugin has experimental support for IRQ based scheduling. This
|
||||||
|
should decrease latency for some (mostly USB) drivers. This should bring
|
||||||
|
latency within JACK latency. More work on this will be done before the
|
||||||
|
1.0 release later this year.
|
||||||
|
- Audioconvert now has support for volume ramping. (#3046)
|
||||||
|
- A new loop method was added the check if a thread is currently running the
|
||||||
|
loop.
|
||||||
|
- channelmix.disable and resample.disable now generate an error when true
|
||||||
|
and channelmixing or resampling is required in the converter.
|
||||||
|
|
||||||
|
## Bluetooth
|
||||||
|
- Fix a crash in some cases when a device was disconnected.
|
||||||
|
- Support async transport state changes. This avoids some lockups when the
|
||||||
|
bluetooth backend is having issues. (#3023)
|
||||||
|
- Align BAP sinks. This improves synchronization between earpieces.
|
||||||
|
|
||||||
|
## ALSA
|
||||||
|
- Improve properties in pw-top and pavucontrol.
|
||||||
|
|
||||||
|
## pulse-server
|
||||||
|
- Improve error handling from pulse-tunnel.
|
||||||
|
- Generate silence correctly for unsigned formats as well.
|
||||||
|
- Review buffer params. The streams should now just work with 1 or 2
|
||||||
|
buffers.
|
||||||
|
- module-rtp-send and module-rtp-recv now have support for the OPUS codec.
|
||||||
|
|
||||||
|
# JACK
|
||||||
|
- Make sure we don't call any callbacks anymore when deactivating. (#2781)
|
||||||
|
|
||||||
|
## GStreamer
|
||||||
|
- Sort the device by priority in deviceprovider. (#3072)
|
||||||
|
|
||||||
|
|
||||||
|
Older versions:
|
||||||
|
|
||||||
# PipeWire 0.3.67 (2023-03-09)
|
# PipeWire 0.3.67 (2023-03-09)
|
||||||
|
|
||||||
This is a bugfix release that is API and ABI compatible with previous
|
This is a bugfix release that is API and ABI compatible with previous
|
||||||
|
@ -92,9 +232,6 @@ This is a bugfix release that is API and ABI compatible with previous
|
||||||
- The metadata plane count is now handled correctly in more cases.
|
- The metadata plane count is now handled correctly in more cases.
|
||||||
- Stream errors are now handled correctly to stop the GStreamer elements.
|
- Stream errors are now handled correctly to stop the GStreamer elements.
|
||||||
|
|
||||||
Older versions:
|
|
||||||
|
|
||||||
|
|
||||||
# PipeWire 0.3.66 (2023-02-16)
|
# PipeWire 0.3.66 (2023-02-16)
|
||||||
|
|
||||||
This is a bugfix release that is API and ABI compatible with previous
|
This is a bugfix release that is API and ABI compatible with previous
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('pipewire', ['c' ],
|
project('pipewire', ['c' ],
|
||||||
version : '0.3.67',
|
version : '0.3.68',
|
||||||
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
|
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
|
||||||
meson_version : '>= 0.61.1',
|
meson_version : '>= 0.61.1',
|
||||||
default_options : [ 'warning_level=3',
|
default_options : [ 'warning_level=3',
|
||||||
|
|
Loading…
Reference in a new issue