0.3.71
This commit is contained in:
parent
05f5e416e2
commit
bd225b14bb
148
NEWS
148
NEWS
|
@ -1,3 +1,148 @@
|
|||
# PipeWire 0.3.71 (2023-05-17)
|
||||
|
||||
This is a bugfix release that is API and ABI compatible with previous
|
||||
0.3.x releases.
|
||||
|
||||
## Highlights
|
||||
- A new zero-latency jackdbus bridge was added. This works similar to what
|
||||
PulseAudio has to offer and creates a sink/source when jackdbus is
|
||||
started. It is however much more efficient and runs the complete PipeWire
|
||||
graph as a synchronous JACK client with no added latency.
|
||||
- Many performance improvements. Activation of remote nodes is more
|
||||
efficient, fewer eventfds are required on the clients, less callback
|
||||
overhead in performence critical paths and an optimized poll function
|
||||
was added. This was mainly driven by the jackdbus module to get the lowest
|
||||
possible overhead when running the graph.
|
||||
- The JACK notify callback implementation was reworked to emulate better what
|
||||
JACK does, improving compatibility with ardour7 and the JACK stress test.
|
||||
- More work on BAP devices. Device latency is now passed on to
|
||||
applications also for multi-device headsets, and channel allocation
|
||||
is handled better.
|
||||
- Many more improvements and bugfixes.
|
||||
|
||||
|
||||
## PipeWire
|
||||
- Remove the hardcoded limit on io_areas. This is used to link nodes together
|
||||
and exchange buffers, it was limited to 2048 but now dynamically scales
|
||||
based on requirements.
|
||||
- Rate and quantum changes are now applied correctly in more cases. (#3159)
|
||||
- Updates to client-node to more efficiently process the driver.
|
||||
- The profiler information was improved to be more accurate. It should
|
||||
now work better for remote drivers.
|
||||
- Some potential memory map errors were fixed in the protocol because in some
|
||||
case with large messages, some fds were closed too soon.
|
||||
- pw-filter now implements the pw_filter_set_active() method.
|
||||
- A potential out-of-buffers case was fixed in capture pw-streams where buffers
|
||||
were not moved to the recycle queue when the node suspended.
|
||||
- Nodes are now always woken up with the eventfd. Previously there were
|
||||
some optimiztions in the server to directly call into the node process
|
||||
function but that optimization is not necessary. Without this optimization
|
||||
it is now possible to run nodes in different threads.
|
||||
- pw-stream trigger is now implemented correctly in all cases.
|
||||
- Remote nodes now use one eventfd less because they get triggered with the
|
||||
node eventfd directly.
|
||||
- Monitor ports are now ignored in latency updates.
|
||||
- A potential race when reporting an error to a client was fixed. (#3192)
|
||||
- Fix a bug where always_process nodes would sometimes IDLE. (#3189)
|
||||
- Optimize peer activation. Nodes are now activated more efficiently and
|
||||
independent of the number of links. It also reduces the number of eventfds
|
||||
and memory in remote clients.
|
||||
- A bug in property serialization was fixed. Values with spaces would only
|
||||
serialize the first part of the value.
|
||||
|
||||
## Modules
|
||||
- Correctly handle the echo-canceler plugin init method fallback. The
|
||||
samplerate was not correctly configured. This is only a regression for people
|
||||
that have external echo-canceler plugins.
|
||||
- RAOP sink now only sets the volume on the remote end when the stream is
|
||||
recording. (#3175)
|
||||
- RAOP discover now tries to deduplicate entries from the same host.
|
||||
- A new zero-latency jackdbus bridge was added. This works similar to what
|
||||
pulseaudio has to offer and creates a sink/source when jackdbus is
|
||||
started. It is however much more efficient and runs the complete PipeWire
|
||||
graph as a synchronous JACK client.
|
||||
- The access module uses a more secure way to check the application
|
||||
executable.
|
||||
- module-combine-stream now has configurable delay and latency for each
|
||||
stream. This can be used to align sinks/sources with different latencies.
|
||||
- A potential crash in module-pulse-tunnel was fixed when shutting down.
|
||||
(#3199)
|
||||
- Module-rt will now clamp the nice value to the min allowed value to avoid
|
||||
errors from rtkit. (#3186)
|
||||
- Fix a bug with the session counters in module-rtp-sap. Also use the right
|
||||
format for L24. Improve the AES67 example config.
|
||||
- Improve some warning and info messages in module-rt. (#3194)
|
||||
- module-rtp-session should now do something when started without arguments.
|
||||
- A potential crash in module-rtp-session was fixed. (#3217)
|
||||
- module-filter-chain has better error reporting when a convolver fails to
|
||||
load. (#3223)
|
||||
|
||||
## SPA
|
||||
- Move some things around to avoid compiler warnings. (#3171)
|
||||
- Increase mixer ports. Reorganize some things and bump mixer input ports
|
||||
from 128 to 512.
|
||||
- Fix a potential crash when a node is scheduled before it completes
|
||||
the setup.
|
||||
- The JACK sink and source SPA plugins have seen some improvements.
|
||||
- Allow the peaks resampler still if we disabled resampling.
|
||||
- Perform more cleanup in audioadapter when in error.
|
||||
- An optimized non-cancellable loop implementation was added.
|
||||
- Callbacks were optimized with a _fast() varsion that doesn't check the
|
||||
version and method. When this check is performed earlier, it can
|
||||
be skipped in performance critical places.
|
||||
- Some of the callbacks and system methods are now using the fast function
|
||||
calls in critical paths.
|
||||
- A potential division by zero was fixed in the ALSA plugins.
|
||||
- Improve rate and quantum when starting audioconvert.
|
||||
- Make it possible to override node.driver in the SPA null-audio-driver.
|
||||
(#3220)
|
||||
|
||||
## pulse-server
|
||||
- The audio info parameter parsing was refactored and improved.
|
||||
- Fix some races with clients exiting when playing samples.
|
||||
- An option was added to change or disable the dbus name registration.
|
||||
(#2987)
|
||||
|
||||
## Bluetooth
|
||||
- Implement battery reporting using AT+XEVENT.
|
||||
- Disable hardware volume for 3M WorkTunes.
|
||||
- Implement BAP audio locations (channel positions) by using the new
|
||||
bluez properties.
|
||||
|
||||
## JACK
|
||||
- Fix some errors reported by JACK test.cpp. (#2638)
|
||||
- Add jack.show-midi option to show/hide midi ports.
|
||||
- Add jack.max-client-ports option. JACK also has a port limit and so
|
||||
PipeWire needs it as well to make the tests happy.
|
||||
- Call the shutdown callback only when the server stopped, not when there
|
||||
is a random error. (#3070)
|
||||
- Avoid registering the same port name twice.
|
||||
- Call port registration callbacks in activate/deactivate.
|
||||
- Improve jack_port_connected().
|
||||
- Improve some error reporting.
|
||||
- The JACK headers were updated to a newer version.
|
||||
- JACK callbacks are now managed with an event queue to simulate
|
||||
more what JACK does. This avoids emiting callbacks when a method is blocking
|
||||
for a reply and causing deadlocks. (#3183)
|
||||
- Assign unique names to JACK clients. (#2833)
|
||||
- Fix a potential crash when the thread_utils was used after free.
|
||||
- Aliases are now not filled in by default to improve JACK compatibility.
|
||||
(#3154)
|
||||
|
||||
# ALSA
|
||||
- The ALSA plugin will now wait for negotiation to complete or an error
|
||||
before _prepare() completes. This makes more applications deal correctly
|
||||
with the potential errors.
|
||||
|
||||
# Docs
|
||||
- A new document about how scheduling is implemented was added.
|
||||
- Update the pw-cli man page. (#2988)
|
||||
- Document the SPA Pod serialization.
|
||||
- Document the PipeWire native protocol.
|
||||
|
||||
|
||||
Older versions:
|
||||
|
||||
# PipeWire 0.3.70 (2023-04-20)
|
||||
|
||||
This is a quick bugfix release that is API and ABI compatible with previous
|
||||
|
@ -62,9 +207,6 @@ This is a quick bugfix release that is API and ABI compatible with previous
|
|||
- The GStreamer source now uses the BaseSrc clocking code to implement
|
||||
the clock and timing code.
|
||||
|
||||
|
||||
Older versions:
|
||||
|
||||
# PipeWire 0.3.69 (2023-04-13)
|
||||
|
||||
This is a quick bugfix release that is API and ABI compatible with previous
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
project('pipewire', ['c' ],
|
||||
version : '0.3.70',
|
||||
version : '0.3.71',
|
||||
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
|
||||
meson_version : '>= 0.61.1',
|
||||
default_options : [ 'warning_level=3',
|
||||
|
|
Loading…
Reference in New Issue