Opened 14 months ago
Closed 14 months ago
New point version.
This is a bugfix release that is API and ABI compatible
with previous 0.3.x releases.
- Improved PulseAudio compatibility. The alsa card profile
code was reused from PulseAudio. Devices now support
all profiles, ports, jack detection, UCM and hardware
mixers that PulseAudio implements. There should not
be (almost) any difference between PipeWire and PulseAudio
in how it presents and manages devices.
Other missing API pieces such as the default sink/source
and move_stream are implemented now. At this point
it should be possible to replace PulseAudio with the
compatibility layer for those who want to try.
- Many fixes and improvements to the GStreamer elements.
pipewiresrc now has the ability to periodically resend
the last frame. This makes it possible for use-cases like
screensharing to only update the screen on changes while
still keeping the client side encoder busy. PipeWire
elements can now also share a connection between them.
- Improvements to the bluetooth nodes. Dynamically adding
and removing devices should work much smoother now. Many
fixes and improvements to a2dp and sco nodes.
- Reduced memory usage by using less pre-allocated memory
where possible. JACK clients are especially using less
- Support for passive links is added again. These are links
that don't cause the associated driver to become active.
This makes it possible to have blocks of effects+sinks go
to suspend as a group when not in use.
- Both consumers and producers can now ask to renegotiate
the format. This required some cleanups and improvements
to how links and node states were handled. More work is
needed to implement more use cases.
- Important fixes to how memory is shared with clients. Memory
was not correctly freed in all cases, which would result
in reuse of the wrong memory.
- Support for planar formats for audio and video was added.
- Improved error handling in the session manager.
- Metadata is now used to manage default audio source and
sink devices. The session manager will try to link streams
to the default device. Changing the default device will
move streams to the new device. PulseAudio and JACK layers
respect the default source/sinks.
- Metadata is used to tag the desired output device for
a stream and the session manager will move streams when
the metadata changes. The PulseAudio layer uses this to
implement the move_stream feature.
- Many fixes to the security modules. The session manager now
has a flatpak module that grants permissions to flatpak
apps. The PulseAudio layer now respects the permissions of
objects. Security related properties are made read-only
now. Different access modules can now coexist.
- The portal module has been split up in 2 parts:
1) a part living in the daemon that monitors the portal
dbus owner and tags all clients from this PID. This
part has to run in the daemon in order to securely
tag the clients.
2) a part in the session manager that uses the permission
store to manage the permissions of portal managed
Fixed at r23413
Powered by Trac 1.5.3.dev0
By Edgewall Software
© 1998-2021 Gerard Beekmans.