mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-06 00:40:34 +00:00
421 lines
14 KiB
Plaintext
421 lines
14 KiB
Plaintext
PipeWire 0.3.6
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- Extensive memory leak fixing and stress testing was done.
|
|
A big leak in screen sharing with DMA-BUF was fixed.
|
|
- Compile fixes
|
|
- Stability improvements in jack and pulseaudio layers.
|
|
- Added the old portal module to make the Camera portal
|
|
work again. This will be moved to the session manager in
|
|
future versions.
|
|
- Improvements to the GStreamer source and sink shutdown.
|
|
- Fix compatibility with v2 clients again when negotiating
|
|
buffers.
|
|
|
|
|
|
Older versions:
|
|
|
|
|
|
PipeWire 0.3.5
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- Compiler fixes
|
|
- Add pw-midiplay and pw-midirecord aliases
|
|
- Add pw-mididump tool
|
|
- Add pw-metadata tool to inspect, add and remove metadata
|
|
for objects.
|
|
- Docs updates, man pages
|
|
- install alsa config files
|
|
- Fix linked sink/source in pulseaudio
|
|
- ratelimit graph processing warnings
|
|
- improve buffer handling in GStreamer elements
|
|
- Fix power usage by removing the queue for the alsa
|
|
sequencer system announce messages.
|
|
- Fix metadata clear() method dispatch.
|
|
- Improve parameter enumeration, make it possible to detect
|
|
missing parameters vs no-compatible parameters so that we
|
|
can use defaults in the first case and error in the second
|
|
case.
|
|
- Fix cleanup of proxy objects. Stability improvements on
|
|
plug/unplug in session manager.
|
|
- Make it possible to set log level from config file
|
|
- improve debug of param negotiation errors. Log the
|
|
parameters to stderr/journal.
|
|
- Make it possible to configure global logger
|
|
implementation.
|
|
- Fix NEON detection
|
|
- JACK and PulseAudio compatibility improvements
|
|
|
|
|
|
PipeWire 0.3.4
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- A quick update with some important stability fixes.
|
|
|
|
|
|
PipeWire 0.3.3
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- NEON optimizations for audio conversion (32 and 64 bits)
|
|
- rework of session manager implementation
|
|
- Add option to disable modules in the session manager
|
|
- Release midi hardware devices when suspended
|
|
- various build fixes
|
|
- Clean up options of various utils
|
|
- Stability improvements
|
|
- Mayor improvements in pulseaudio emulation. Improved
|
|
timings and compatibility.
|
|
- Implementation of drain and flush in pulse and alsa
|
|
emulation.
|
|
- Implement poll on file descriptors.
|
|
- Improvement of metadata for jack emulation.
|
|
- Fix memory and thread problems in jack emulation.
|
|
- Simplification of state changes. Should make more use
|
|
cases work in the jack emulation.
|
|
- Improvements in the gstreamer elements. Removal of
|
|
extra internal queue. pipewiresink can now be used to
|
|
play audio.
|
|
- Add pw-jack and pw-pulse scripts to run pulseaudio and
|
|
jack applications with the right library path.
|
|
|
|
|
|
PipeWire 0.3.2
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- build fixes
|
|
- Added support for data type negotiation. This makes it
|
|
possible for a client to say that it can handle DMABuf
|
|
and MemFd and then let the server select a compatible
|
|
format.
|
|
- Handle errors when enumerating parameters better.
|
|
- Add support for rate, format, channels and period_bytes
|
|
to the alsa config file to restrict what alsa apps can
|
|
negotiate.
|
|
- Fix JACK midi output.
|
|
- Optimizations in common audio format conversions using
|
|
AVX2. Small optimizations to plugins.
|
|
- Change the vulkan compute example to an MIT licensed
|
|
shader.
|
|
- Remove some hardcoded defaults in the audio and video
|
|
processing and use the values from the processing
|
|
context. This also fixes the vulkan example.
|
|
- Correct the documentation and defaults in the daemon
|
|
config file.
|
|
- Fix alsa and v4l2 buffer recycle. A paused client could
|
|
cause the server to leak all buffers.
|
|
- Remove some warnings that should be ignored.
|
|
- Fix a crash in the bluez5 plugins.
|
|
- Try to select higher quality formats first when
|
|
negotiating a format with an audio device.
|
|
- Fix an infinite loop in udev detection in some cases.
|
|
- Add non-interactive mode to pw-cli. You can now just
|
|
do "pw-cli ls Port" to get a listing of all ports.
|
|
pw-cli will now also connect to the default server by
|
|
default and has options to select a different server.
|
|
- Allow the server to go up to the maximum quantum (8192
|
|
samples or ~=180ms) if a client explicitly wants this.
|
|
|
|
|
|
PipeWire 0.3.1
|
|
|
|
This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
|
|
- Don't load the rtkit module by default. It can cause a
|
|
sigkill, which is not desirable for mutter, for example.
|
|
Only enable this for the jack library for now.
|
|
- Don't use pthread cancel by default because it uses a
|
|
signal that might crash some apps. Only use it for
|
|
the jack library because jack clients really expect this.
|
|
- Build fixes for -Werror=suggest-attribute=format
|
|
- improve error messages, don't report harmless errors and
|
|
warnings. Try to send error messages to the proxy that
|
|
started the operation or is the owner of the object.
|
|
- pw-cat: midi improvement, add midi recording and dump
|
|
in verbose mode
|
|
- fix properties when loading spa-nodes from the config
|
|
- Fix and update some examples
|
|
- jack: check arguments and don't crash when invalid
|
|
- Fix buffer memory upload.
|
|
- jack: fix compatibility with zrythm. Fix timemaster
|
|
install, improve sample_rate callback. Fix reposition
|
|
handling.
|
|
- fix crash in port after buffer negotiation error.
|
|
- add support for control ports in pw_filter
|
|
- fix cleanup of the metadata module
|
|
- improve param enumeration.
|
|
- Clear stream buffers when the format is cleared.
|
|
- Add create-object command in the config file to create
|
|
object from a factory.
|
|
- Fix crash after the driver was not removed from unassigned
|
|
nodes. Also properly pause inactive nodes.
|
|
- Use "true" and "false" in properties when we are talking
|
|
about a boolean.
|
|
- pulseaudio: improve compatibility
|
|
|
|
|
|
PipeWire 0.3.0
|
|
|
|
The 0.3 release is a major milestone in the developement of
|
|
PipeWire. It features a complete redesign of the scheduling
|
|
mechanisms that make it possible to run a JACK compatibility
|
|
layer with comparable performance to JACK2.
|
|
|
|
The API has been reworked and is declared stable now. All
|
|
developement files and runtime paths are versioned so that
|
|
future incompatible changes can be done without breaking
|
|
exising applications.
|
|
|
|
PipeWire 0.3 also includes a (now mandatory) session manager
|
|
that populates and controls the PipeWire graph. This example
|
|
session manager is very simple and not configurable. It is
|
|
expected that future version will either switch to a more
|
|
flexible session manager (like WirePlumber) or improve the
|
|
configuration options of the example session manager.
|
|
|
|
PipeWire 0.3 includes both PulseAudio, JACK and ALSA
|
|
compatibility libraries that are known to support a wide range
|
|
of applications. The ALSA library is pretty complete at this
|
|
point. The JACK and mostly the PulseAudio compatibility
|
|
libraries need more work. See the Wiki pages for the current
|
|
compatibility problems. We do not yet encourage people to
|
|
switch away from their existing audio solutions (PulseAudio
|
|
or JACK) but we would love to hear from people who try it
|
|
anyways. Future versions will mostly focus on improving
|
|
compatibility further to make PipeWire a drop-in replacement.
|
|
|
|
PipeWire comes with some GStreamer plugins to consume and
|
|
produce data for PipeWire. The consumer (pipewiresrc) is
|
|
working well in most cases. The sink (pipewiresink) is known
|
|
to be somewhat problematic for now.
|
|
|
|
PipeWire 0.2.97
|
|
|
|
Eigth pre-release for upcomming 0.3:
|
|
|
|
- Build fixes
|
|
- pw-cat improvement: Fix remote name, add midi support
|
|
- add device subscribe params for completeness
|
|
- jack and pulseaudio compatibility fixes
|
|
- Fix a bug in resampler, add quality option, tweaked quality
|
|
settings, tested now against https://src.infinitewave.ca/
|
|
testsignals and submitted results for publication.
|
|
- Fix awkwardness in buffer negotiations, the default number of
|
|
buffers was 4 and jack could only handle 2, causing
|
|
corruption. Also implement negotiation of Step ranges.
|
|
- Fix device reservation to work together with pulseaudio,
|
|
previously we would block pulseaudio.
|
|
|
|
PipeWire 0.2.96
|
|
|
|
Seventh pre-release for upcomming 0.3:
|
|
|
|
- jack: improve compatibility
|
|
- Fix unit test
|
|
- Fix license of jack and alsa libs
|
|
- Make start/stop more threadsafe
|
|
- Fix rt-kit again, add params to configure things, increase default
|
|
soft/hard limits to avoid being killed.
|
|
- version 0 compatibility improvements, tested with firefox, cheese,
|
|
GStreamer and chrome using compat layers.
|
|
- Fix timing for gstreamer source
|
|
- Require libspa in pkg-config file
|
|
- Limit buffers to 16 to support old clients
|
|
|
|
PipeWire 0.2.95
|
|
|
|
Sixth pre-release for upcomming 0.3:
|
|
|
|
- Fix tests for big endian some more
|
|
- Improve v2 compatibility mode: improve type negotiation and
|
|
update_permissions
|
|
- Workaround for firefox screen sharing
|
|
|
|
|
|
PipeWire 0.2.94
|
|
|
|
Fifth pre-release for upcomming 0.3:
|
|
|
|
- Fix man page names
|
|
- Fix jack set_sync_timeout
|
|
- Improve JACK compatibility with apps that cache buffer pointers.
|
|
- Improve mlock failure warning message, add property to configure
|
|
if mlock should be used.
|
|
- Improve OBJECT_PATH in alsa objects
|
|
- Install in versioned directory
|
|
- Add pw-profiler tool
|
|
- Improve pulseaudio compatibility wrt pa_operations
|
|
- Thread safety fixes in remote nodes when activating/deactivating
|
|
- Improve JACK names on duplicates
|
|
- Add option to ignore failure when loading modules
|
|
|
|
PipeWire 0.2.93
|
|
|
|
Fourth pre-release for upcomming 0.3:
|
|
|
|
- Fix unit tests on 32 bits
|
|
- Append -pw version to pulse and jack libs. This way we can install
|
|
it next to the real libraries and use a symlink to enable it.
|
|
- Improve jack support by killing threads with pthread_cancel. This
|
|
then also remove the eventfd from the data-loop, making it
|
|
maybe a little faster.
|
|
- Fix jack_client_close() compatibility
|
|
- Fix some segfaults in the session manager
|
|
- Improve debug of protocol messages
|
|
- Add examples options
|
|
- Don't fail when alsa is not found
|
|
- Fix some compiler warnings with a new spa_aprintf() helper.
|
|
- Add pw-cat, the simple audio playback/record tool
|
|
- Rename pipewire tools to pw- prefix
|
|
- Add improve pw-cli object dump feature
|
|
|
|
|
|
PipeWire 0.2.92
|
|
|
|
Third pre-release for upcomming 0.3:
|
|
|
|
- Improve old version check some more
|
|
- Fix unit tests on little/big endian
|
|
- Fix compilation when CPU has no optimisations
|
|
- Install jack and pulse libraries
|
|
- Handle -EACCESS in flatpack access module
|
|
|
|
|
|
PipeWire 0.2.91
|
|
|
|
It is mostly a bugfix release to make the new version install and
|
|
run correctly in distros.
|
|
|
|
- Install session manager, fix path to find the session manager
|
|
- Fix alsa buffer reuse
|
|
- Small fixes for crasher bugs
|
|
- Implement pw_core_set_paused() to suspend/resume even
|
|
processing. This can be used when using multiple connections
|
|
to a daemon and one needs to pause one connection until the
|
|
other one completes an action. Used by session managers.
|
|
- Improve old version check
|
|
|
|
|
|
PipeWire 0.2.90
|
|
|
|
This is the first pre-release of the 0.3 version. It consists of a
|
|
major rewrite and is not API or ABI compatible with the 0.2
|
|
branch.
|
|
|
|
|
|
PipeWire 0.2.7
|
|
|
|
This is mostly a bugfix release and is API/ABI compatible with
|
|
previous 0.2 versions.
|
|
|
|
Work is ongoing in the work branch that features a completely new
|
|
scheduling method that will enable audio support. Some of these
|
|
API changes are backported in this branch.
|
|
|
|
- Add support for alsa-lib 1.1.9 which changed the include path
|
|
- Improve error checking and reporting in the protocol
|
|
- deviceprovider: fix probing without starting
|
|
- add sentinel to some functions
|
|
- compiler fixes for musl
|
|
- Revert object tree permission checks that broke things, this is
|
|
probably not a good idea (and the tree of objects is going to
|
|
be removed later)
|
|
|
|
|
|
PipeWire 0.2.6
|
|
|
|
- Improve error checking for threads
|
|
- Fix some memory and fd leaks
|
|
- Fix compilation with C++ compilers and clang
|
|
- DISABLE_RTKIT should now not try to use dbus at all
|
|
- Camera Portal fixes:
|
|
- add Camera media.role
|
|
- Rename module-flatpak to module-portal
|
|
- Use the portal permissions store for camera checks
|
|
- Actually use the passed fd in pipewiresrc
|
|
- Make properties with "pipewire." prefix read-only
|
|
- Add security label to client object
|
|
- Enforce link permissions
|
|
- Permissions of objects are now combined with parent permissions
|
|
- Remove libv4l2 dependency, it is not used
|
|
- Improve format negotiation in autolink #146
|
|
- Try to avoid list corruption with event emmission #143
|
|
- Fix destroy of client-node memory corruption
|
|
- Various small improvements
|
|
|
|
PipeWire 0.2.5
|
|
|
|
- build fixes for systemd
|
|
- Add cursor and bitmap metadata. This can be used to send a cursor
|
|
sprite with the video stream.
|
|
- permissions were set too strict for non-flatpak clients
|
|
- Fix crash in loop caused by thread unsafe hook emission
|
|
- Add more error checking for thread-loop
|
|
- Small cleanups and bugfixes
|
|
|
|
PipeWire 0.2.4
|
|
|
|
- Install man pages in right directory
|
|
- Add systemd socket activation
|
|
- Various memory leak and corruption fixes in properties, dbus and
|
|
buffer mmaped memory.
|
|
- Fix v4l2 crash on unplug
|
|
- improve stream cleanup
|
|
|
|
PipeWire 0.2.3
|
|
|
|
- Fix deviceprovider caps introspection
|
|
- Refcounting fixes in pipewiresrc
|
|
- Remove clock interpolation from stream
|
|
- Improve clock in gstreamer elements
|
|
- Remove spalib
|
|
- Fix crash with pw_map
|
|
- Add version number to hook list
|
|
- Improve driver mode in gstreamer elements
|
|
- add daemon options
|
|
- add man pages
|
|
|
|
PipeWire 0.2.2
|
|
|
|
- Increment API version and .so version
|
|
|
|
PipeWire 0.2.1
|
|
|
|
- Various fixes to memory handling
|
|
- Fixes for shutdown
|
|
- v4l2 fix enumeration of frame intervals
|
|
- Make the daemon stop when the setup commands fail
|
|
- Improve safety of hooks
|
|
- Update stream API to more future proof version
|
|
- Add more options to stream API such as scheduling in the
|
|
main thread and automatic mapping of buffers
|
|
- Add version file and macros to check compile time and
|
|
runtime versions of pipewire
|
|
- Future proof some structs
|
|
|
|
|
|
PipeWire 0.1.9
|
|
|
|
- Various build fixes
|
|
- Do more permission checks
|
|
- Add support for doing async connections. This can be used to
|
|
make connections through the portal later.
|
|
- Fix device creation from the GStreamer device monitor
|
|
- v4l2 experiment with controls
|
|
- move rtkit to a module to avoid dbus dependency
|
|
- use dmabuf allocator in gstreamer elements
|
|
- Add DSP module for pro audio cases, remove jack module. The
|
|
idea is to make a replacement jack client library that talks
|
|
pipewire directly instead of trying to emulate a jack server.
|
|
- Various memory handling improvements
|