Note that this requires webrtc-audio-processing-1 1.3
(submitted in https://build.opensuse.org/request/show/1111520 )
- Update to version 0.3.80:
* Highlights
- A new Tag param was added that allows arbitrary metadata to
be transported out-of-band in the graph.
- Vulkan DMA buf support was merged.
- The echo-canceller was ported to webrtc-audio-processing-1.
- Fix a regression in locating monitor sources by id in
pulse-server.
- Mixer io areas updates are now synchronized correctly with
the data thread to avoid potential crashes.
- Many more bugfixes and improvements.
* PipeWire
- Handle driver nodes that refuse to change the quantum or
rate.
- A new Tag param was added that allows arbitrary metadata to
be transported out-of-band in the graph.
* Modules
- The pipe-tunnel source has been reworked to use a ringbuffer
and rate adaption to keep the latency constant. It can now
also function as a driver to reduce resampling. (#3478)
* Tools
- pw-cat will now place media properties in Tag params.
- pw-mon can now filter props and params.
* SPA
- ALSA refuses to change quantum and rate when in IRQ mode.
- ALSA will now be smarter in selecting the period size for
batch devices and will make it depend on the samplerate.
(#3444)
- Vulkan DMA buf support was merged.
- ALSA latency will now be reported in the time domain of the
OBS-URL: https://build.opensuse.org/request/show/1111523
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=156
- Add patch from upstream to fix a regression introduced in 0.3.77
which made it fail to open a monitor device as source:
* 0001-pulse-server-allow-monitors-when-selecting-source-by-index.patch
- Add patch from upstream to fix a bug which caused 100% cpu usage
under some circumstances:
* 0001-Revert-v4l2-handle-inotify-errors.patch
* 0002-Revert-v4l2-dont-set-inotify-on-_dev.patch
* 0003-spa-v4l2-use-a-separate-watch-for-each-device.patch
OBS-URL: https://build.opensuse.org/request/show/1110285
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=154
- Update to version 0.3.78:
* Highlights
- An old regression was fixed with where some nodes would not
run.
- A regression was fixed where removed events would not be
shown in some cases. This would result in duplicate entries
in audio clients.
- Fix an off-by-one in the vban audio receiver. Tweak the rate
adaption a little.
- ACP will now set a UCM verb before probing the pro-audio
devices.
- More bugfixes and improvements.
* PipeWire
- An old regression was fixed with where some nodes would not
run. (#3405)
- Suspend was improved a little to avoid races when the session
manager would suspend right when a driver was starting.
* Modules
- module-rtp-sap does not use the deprecated inet_aton anymore.
- Fix an off-by-one in the vban audio receiver. Tweak the rate
adaption a little. (#3380)
* SPA
- ACP will now set a UCM verb before probing the pro-audio
devices. (#3407)
- The mandatory flag will be set now on the video modifiers.
- EVL was updated to Xenomai4 r46 and xbuf creation was
improved.
- An option was added to force colors in the log even when
logging to !tty.
- The return type of spa_pod_builder_control() was fixed.
OBS-URL: https://build.opensuse.org/request/show/1105883
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=150
- Fix from upstream to ensure effect and sink nodes are set to
running:
* 0001-context-Dont-stop-setting-runnable-when-meeting-the-driving.patch
- Fix from upstream to prevent a crash when stopping a device
provider:
* 0001-gst-Prevent-a-crash-when-stopping-device-provider.patch
- Fix from upstream to fix a regression that makes plugins/effects
disappear in Carla Patchbay when there's no playback:
* 0001-jack-ports-become-visible-when-the-registration-is-queued.patch
* 0002-jack-handle-node.always-process-=-false-jack-nodes.patch
- Fix from upstream to fix pavucontrol and plasma-pa showing
duplicated sinks after resume or switching audio device profiles
(boo#1214374):
* 0001-pulse-server-set-all-change_mask-flags-when-removing.patch
OBS-URL: https://build.opensuse.org/request/show/1104671
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=148
- Update to version 0.3.77:
* Highlights
- Fix a bug in ALSA source where the available number of
samples was miscaluclated and resulted in xruns in some
cases.
- A new L permission was added to make it possible to force a
link between nodes even when the nodes can't see eachother.
- The VBAN module now supports midi send and receive as well.
- Many cleanups and small fixes.
* PipeWire
- Global objects now only show permissions that apply to them.
The permissions required to perform various API calls are
documented.
- A new L permission was added to make it possible to force a
link between nodes even when the nodes can't see eachother.
- Config files need to end with .conf.
- The client.api is added the to global properties of a node.
* modules
- The VBAN module now supports midi send and receive as well.
- Fix module-profiler alignment and make sure we don't overrun
our buffers with many nodes.
- Protect libcanberra calls with a mutex because it is not
thread safe.
* SPA
- Support older compilers for spa_clear_ptr().
- Fix a bug in ALSA source where the available number of
samples was miscaluclated and resulted in xruns.
- Don't set inotify on /dev but on the videoX devices directly.
Setting inotify on /dev would cause a lot of spurious wakeups
and lock contention in the fsnotify subsystem on some
OBS-URL: https://build.opensuse.org/request/show/1102630
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=90
- Update to version 0.3.76:
* Highlights
- Fix a regression that would cause the MPV pipewire backend
to fail because of a spurious thread-loop signal.
- Fix a crash when DBus is not found.
- ALSA hires timestamps are now disabled by default.
- Some more fixes and improvements.
* PipeWire
- A new option was added to pw-thread-loop to signal when the
thread starts.
- This is only used in module-rt to avoid regressions in mpv.
(#3374)
- Fix a compilation problem.
- Stream flags now only set the properties when not already
set. This fixes a regression with node autoconnect. (#3382)
* Tools
- pw-cat will now stop when the stream is disconnected. (#2731)
- Improve the pw-cat man page, mention that stdin/stdout
handling is only on raw data.
* modules
- module-rt will now not crash when dbus is not available but
error out as before.
- A new VBAN (vb-audio.com) sender and receiver was added.
(#3380)
* SPA
- Add an option in audioconvert to disable volume updates.
(#3361)
- ALSA hires timestamps are disabled by default because many
drivers seem to give wrong timestamps and cause extra delay.
* bluetooth
OBS-URL: https://build.opensuse.org/request/show/1101182
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=142
- Add code in the spec file to modify the patch file
reduce-meson-dependency.patch (used to build in SLE/Leap) so that
we don't need to rebase it manually for every version update.
- Use gcc 11 in SLE/Leap since gcc 9 fails to build 0.3.75 with
../spa/include/spa/utils/cleanup.h:52:13: error: dereferencing pointer to incomplete type ‘DIR’ {aka ‘struct __dirstream’}
52 | __typeof__(*(ptr)) *_old_value = spa_steal_ptr(ptr); \
potential portal managed screencast nodes to link to the
camera even though it was not assigned permissions to do so
by the session manager.
- Permissions for links between nodes are now enforced. The
link will now check that the owner clients of the nodes can
see each other before allowing the link. This avoids
screensharing clients to accidentally being linked to the
camera nodes by the session manager. A side effect is that
patchbay tools will no longer be able to link portal managed
screencast nodes to the camera, for this we need a new
permission for those patchbay clients.
- The stream.rules/filter.rules are now evaluated when
connecting the stream/filter so that more properties can be
matched.
- Move some internal events from the context to the nodes to
better handle per-node threads in the future.
- Atomic operation macros were move from internal pipewire API
to public API.
SPA_VIDEO_FLAG_MODIFIER_FIXATION_REQUIRED flag to instruct
the application to fixate the modifiers. This simplifies some
logic in applications a lot.
OBS-URL: https://build.opensuse.org/request/show/1100809
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=140
- Update to version 0.3.75:
* Highlights
- Link permissions between nodes are now enforced. This avoids
potential portal managed screencast nodes to link to the camera
even though it was not assigned permissions to do so by the
session manager.
- Libcamera and v4l2 devices now have properties so that
duplicates can be filtered out by the session manager.
- A bug with draining was fixed where a buffer would be marked
EMPTY and would not play when it contained drained samples.
- Many fixes and improvements.
* PipeWire
- Permissions for links between nodes are now enforced. The link
will now check that the owner clients of the nodes can see each
other before allowing the link. This avoids screensharing clients
to accidentally being linked to the camera nodes by the session
manager. A side effect is that patchbay tools will no longer be
able to link portal managed screencast nodes to the camera, for
this we need a new permission for those patchbay clients.
- The stream.rules/filter.rules are now evaluated when connecting
the stream/filter so that more properties can be matched.
- Move some internal events from the context to the nodes to better
handle per-node threads in the future.
- The thread-loop will now signal when the thread is started.
* modules
- A timestamp workaround in module-raop was reverted because it
does not work in all cases. Instead latency was increased to
1.5 seconds, which also makes the problematic device in
question work.
- The profiler module was reworked a bit to use the new node
realtime events. It should now also handle dynamically added
and removed drivers.
- The module-rt now does the rtkit calls from a separate thread
so that it does not block the main thread. This could cause
deadlocks during startup in some cases.
* SPA
- Atomic operation macros were move from internal pipewire API to
public API.
- The video-info structure now has a new
SPA_VIDEO_FLAG_MODIFIER_FIXATION_REQUIRED flag to instruct the
application to fixate the modifiers. This simplifies some logic
in applications a lot.
- The libcamera and v4l2 nodes now have properties to enumerate
the device id they are using. This can be used to match v4l2
devices and libcamera devices and filter out duplicates.
- A bug with draining was fixed where a buffer would be marked
EMPTY and would not
OBS-URL: https://build.opensuse.org/request/show/1100514
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=139
- Update to version 0.3.72:
* Highlights
- Fix a critical bug that would refuse to update the samplerate
or buffersize in JACK clients.
- A new module-netjack2-driver and module-netjack2-manager were
added that are compatible with NETJACK2. This allows PipeWire
to become a NETJACK2 manager or a driver between JACK2 or
PipeWire servers.
- Support was added for firewire devices with FFADO. This is
untested for now and MIDI is not implemented yet.
- The node scheduling was optimized some more. External drivers
are now as efficient as in-server ones. This should improve
performance of various drivers such as bluetooth and JACK
based drivers.
- Many, many bug fixes and a ton of improvements.
* PipeWire
- pw-filter can now be used to write sinks and sources.
- The node activation for drivers was changed. The driver now
does not need to go to the server to start the processing
cycle. This makes out-of-server drivers as efficient as
in-server drivers.
- Don't try to use drivers with 0 priority as fallback drivers.
This avoids making the screencast driver a driver for audio.
- Improve xrun count reporting in pw-top and the profiler. Now
each node has their own xrun counter updated when it fails to
complete processing during the cycle.
- pw-filter now also has support for TRIGGER.
- A potential fd leak was found when fds were send to a zombie
client.
- Fix a bug where monitor or capture streams were logged twice
OBS-URL: https://build.opensuse.org/request/show/1095379
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=135
- Update to version 0.3.71:
* 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.
OBS-URL: https://build.opensuse.org/request/show/1087688
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=131
- Update to version 0.3.70:
* Highlights:
- Fix a regression in the scheduler that could keep some nodes
IDLE.
- Fix a regression in the biquad filters in filter-chain.
- Fix a regression and potential crash in the ALSA mixer
probing.
- Fix a regression in pipewiresrc with timestamps that could
cause cheese to record video with wrong timestamps.
- Beamforming support was enabled in the echo-canceler.
- pulse-tunnel and raop-sink will now proxy local volume
changes to the remote end.
- More bugfixes and improvements.
* PipeWire
- Fix a bug in the graph scheduler where some nodes might stay
IDLE in some cases (like when connecting the source of the
echo-canceler to the sink).
- pw-metadata can now be created from the factory with initial
values for the metadata. (#3076)
- Conditions were added to the pipewire config file to make it
possible to configure the access module and the exec sections.
- Support was added in pw-stream to intercept and override
properties for the adapter. This can be used to implement
custom volume control, for example.
* Tools
- pw-metadata can now list all available metadata objects with
the -l option.
- A new pw-config tool was added to debug configuration file
loading and parsing.
* Modules
OBS-URL: https://build.opensuse.org/request/show/1080926
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=128