- Update to version 1.0.6:
* Highlights
- A bitfield race was fixed that could cause some crashes or
undefined behaviour when moving nodes between drivers.
- Fix to some invalid memory access in the pw-mon and pw-dump.
- A regression in kodi with IEC958 formats playback was fixed.
- A race in the ALSA plugin was fixed when updating the
eventfd.
- Improvements and fixes to module-combine-stream.
- Negotiation was improved in pipewiresrc.
- Some more small fixes and improvements.
* PipeWire
- Context properties are now set early so that client
properties can be matched with rules.
- A bitfield race was fixed that could cause some crashes or
undefined behaviour when moving nodes between drivers.
* Tools
- Fix failure to hide properties in pw-mon. (#3997)
- Fix some memleaks and a crash in pw-dump. (#4001)
* Modules
- The combine-stream module now prevents resampling to avoid
broken audio because of different samplerates.
- Fix a potential double free in module-loopback when
calculating the delay. (#3748)
- The FFADO module now only starts when ports are negotiated
to avoid startup races. (#3968)
- The combine-stream module will now forward tags.
* SPA
- Monitor volumes are now also clamped to the min/max volumes.
(#3962)
OBS-URL: https://build.opensuse.org/request/show/1173580
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=198
- Update to version 1.0.5+git36.60deeb2 to fix several crashes,
NULL checks, format strings and other issues:
* spa: libcamera: fix RGB mappings
* pw-dump: destroy all objects not just those matching the pattern
* pw-dump: fix string memory leak on error
* json: fix high surrogate escapes
* core: handle import errors better
* gst/src: fix crash when current_caps is NULL
* gst/src: Avoid unnecessary renegotiations during streaming
* gst/src: Cleanups for src_negotiate()
* pw-mon: fix type confusion in core event handler
* gst: fix stream params memory leak
* gst: handle some more errors
* treewide: fix errno assignments
* alsa-pcm: don't force quantum for iec958 formats
* journal: prepend code location to messages at debug log levels
* module-rt: fix compiler warning
* filter-chain: fix arguments of calloc
* combine-stream tag forward
* Add album to tag metadata
* impl-node: avoid bitfield races
* treewide: fix some format string issues
* conf: warn when match actions are missing
* module-protocol-simple: handle 'node.name' property
* module-ffado: only start after ports are configured
* context: fill basic properties early
* combine-stream: fix latency-compensate with resample.disabled=true
* profiler: remove unused data-loop
* v4l2: fix printf format
* spa: v4l2: encode device id into a json array
OBS-URL: https://build.opensuse.org/request/show/1172232
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=196
- Update to version 1.0.5:
* Highlights
- pw_stream can now report timestamps on buffers and the
expected amount of samples for the resampler.
- The GStreamer element now has more correct timestamps using
the new pw_stream timestamps as a fallback.
- The FFADO module now handles suspend and resume better.
- A regression in v4l2 was fixed when parsing malformed
filters.
- A potential memory/fd leak was fixed in client-node.
- Many more small bugfixes and improvements.
* PipeWire
- pw_stream now reports the expected resampler input or output
size in the pw_time structure. (#3750)
- pw_stream now also adds a time field to the buffer, which
contains the time of the graph when the buffer was received
in the stream.
- Fix a compiler error when compiling with -Werror=shadow.
(#3915)
- The config parser will warn when invalid config is detected.
* Modules
- The FFADO module now opens and closes when suspending. This
fixes some problems when FFADO properties are changed while
suspended. (#3558)
- Filter-chain will now warn when invalid config is detected.
- Echo-cancel will now handle manage the state of the
echo-cancel plugin better, making sure run() is not called
after deactivate().
- Fix some potential memory/fd leaks in client-node.
* SPA
OBS-URL: https://build.opensuse.org/request/show/1168479
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=194
- Update to version 1.0.4:
* Highlights
- Track memfd better to avoid inconsistent memory. Also make
sure the mixer info is removed correctly in all cases on
destroyed ports.
- Correctly handle removed objects in the metadata.
- Add an option to set the server and client priorities instead
of using a hardcoded value of 88.
- The FFADO module has been fixed. Audio and MIDI now works
with the same latency as the JACK driver. This has now also
been tested with a Focusrite Saffire Pro 14.
- The JACK library has seen some important fixes. Some ardour
crackling has been fixed when looping and multiple MIDI ports
on a client should now work.
- Small bugfixes and improvements.
* PipeWire
- Track memfd better to avoid inconsistent memory. Also make
sure the mixer info is removed correctly in all cases on
destroyed ports.
- Fix Props param emission again in pw_stream. (#3833)
- Add MAPPABLE flag to buffer data to indicate that the fd can
be mmapped directly. Use this on DMABUF from v4l2. (#3840)
- Correctly handle removed object in the metadata.
- FreeBSD build and compatibility fixes.
- Add an option to set the server and client priorities instead
of using a hardcoded value of 88.
- Read config overrides in the right order.
- Fix PIPEWIRE_QUANTUM rate handling in pw_stream and
pw_filter.
- Fix pw_context_parse_conf_section(), actually use the conf
OBS-URL: https://build.opensuse.org/request/show/1157531
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=188
- Update to version 1.0.3+git51.89d8e8b:
* module-ffado: make the event buffer per port
* module-ffado: handle MIDI correctly
* module-ffado: implement MIDI send and receive
* module-ffado: various fixes to make things work
* stream: add pw_stream_get_nsec() to get current time
* jack: fix multiple midi input ports
* pw-top: only check terminal size in non-batch mode
* Specify "Audio" in gstreamer sink/src metadata to fix autodetect
* Add SOC-style jack names to HDMI audio paths
* gst: remove timeouts when autoconnect=false
* audioconvert: handle invalid ports better
* audioconvert: handle port remove
* pw_context_parse_conf_section: use the conf argument instead of the context's conf
* stream: FORCE_RATE should just contain the rate
* jack: FORCE_RATE should just contain the rate
* jack: set global_mix safely
* jack: sync threads by pausing the core
* alsa: Added handle for controlling htimestamp autodisable
* And more
- Remove patch already merged upstream:
* fix-gst-sink.patch
- Require pipewire-pulseaudio from pipewire-alsa so when
pipewire-alsa is installed, pipewire has audio support (or put
in other words, so pipewire-alsa isn't installed with the real
pulseaudio). Fixes boo#1221235.
- Add patch from upstream submitted at glfo#pipewire/pipewire#1932
that fixes selecting the pipewire gstreamer plugins by the
OBS-URL: https://build.opensuse.org/request/show/1157175
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=187
- Update to version 1.0.2:
* Highlights
- Fix v4l2 enumeration with filter. This should fix negotiation
in some GStreamer pipelines with capsfilter. Also probe for
EXPBUF support before using it.
- Fix max-latency property and Buffer param when dealing with
small ALSA device buffers. This should fix stuttering with
some AMD based soundcards.
- More small cleanups an improvements.
* Modules
- Improve netjack2 channel positions.
- Improve RAOP module state after suspend/resume. (#3778)
- Avoid crash in some LV2 plugins by configuring the Atom
ports. (#3815)
* SPA
- Bump libcamera requirements to 0.2.0.
- Try to avoid unaligned load exceptions. (#3790)
- Fix v4l2 enumeration with filter. (#1793)
- Fix max-latency property and Buffer param when dealing with
small ALSA device buffers. This should fix stuttering with
some AMD based soundcards. (#3744,#3622)
- Add a resync.ms option to node.driver to make it possible to
resync fast to clock jumps.
- Probe for EXPBUF support in v4l2 before using it. (#3821)
* pulse-server
- Also emit change events when the port list change.
* Bluetooth
- Log a more verbose explanation when other soundservers seem
to be interfering with bluetooth.
- Add quirks for Rockbox Brick. (#3786)
OBS-URL: https://build.opensuse.org/request/show/1143072
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=178
- Update to version 1.0.1:
* Highlights
- Work around the buggy ALSA backend in libcanberra by forcing
the pulse backend in module-x11-bell.
- Fix a race in the device info updates in pulse-server.
- Fix timing and rate matching in ALSA sequencer.
- Improve timing information in JACK and from the ALSA driver.
- More small fixes and improvements.
* PipeWire
- Fix a build issue when examples where disabled.
- Avoid some compiler warnings.
- Avoid some bitfield data races. (#3706)
* Modules
- Bump the PTP driver priority. (#3217)
- Support the previous "allowed" permission in the access
module.
- Fix filename leak in module-filter-chain.
- Work around the buggy ALSA backend in libcanberra by forcing
the pulse backend in module-x11-bell. (#3688)
- Fix a race in the device info updates in pulse-server.
- Fix compatibility in RAOP. (#3698)
* SPA
- Handle ALSA picth control errors correctly
- Clamp buffer-frames correctly. (#3000)
- Fix timing and rate matching in ALSA sequencer. (#3657)
- Revert a commit that could result in current time in the
future in the timing updates.
- Improve adapter state checks.
- Remove the timer from the ALSA pcm.
- Fix timeout in freewheel driver.
OBS-URL: https://build.opensuse.org/request/show/1138105
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=174
- Update to version 1.0.0 (El Presidente):
* Highlights
- Fix a memfd/dmabuf leak when uploading buffers while shutting
down.
- Handle concurrent jack_port_get_buffer() calls because ardour
seems to be doing this.
- Improve time reporting (less jitter) in ALSA when using IRQ.
- Many doc improvements.
* PipeWire
- Respect PIPEWIRE_DLCLOSE everywhere, remove pw_in_valgrind().
- Remove a warning when a client tries to change ignored
properties.
* Modules
- Fix a memfd/dmabuf leak when uploading buffers while shutting
down.
- Fix a potential segfault when copying mix structures. (#3658)
- Avoid races in setrlimit in module-rt.
- Fix a memory leak in filter-chain.
- Set rtp.ptime on senders, not receivers.
- The ROC modules were ported to ROC 0.3
* SPA
- Improve time reporting (less jitter) in ALSA when using IRQ.
(#3657)
- Add latency param query in libcamera.
- Fix some compiler warnings.
- The EVL plugin was updated.
* Bluetooth
- LC3 codec and compatibility improvements.
* Pulse server
- Fix emission of events when a sink/source state changes.
OBS-URL: https://build.opensuse.org/request/show/1128882
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=172
- Update to version 0.3.85 (1.0RC5):
* Highlights
- Fix an issue where a link could end up paused while not
negotiated.
- Fix an infinite recursion issue when finding runnable nodes.
- Support XDG base directories when loading ACP config.
- Fix MIDI event recording preview in Ardour.
- Many more small fixes, cleanups and improvements.
* PipeWire
- Fix an issue where a link could end up paused while not
negotiated. (#3619)
- Fix an infinite recursion issue when finding runnable nodes
by stopping the scan on feedback links around the driver.
(#3621)
- The system service now has better socket permissions.
* Modules
- Add support for uclamp. This allows the scheduler to make
better informed decisions about where tasks should be placed,
and what pstate to set for the CPU it is running on.
- Emit warnings when applications are not doing the right
locking instead of crashing.
- Improve media.name for RAOP sinks. (#3801)
- Support pause/resume in pipe-tunnel. (#3197)
- Remove time rlimit when probing for realtime to avoid
SIGXCPU.
* SPA
- Fix a bug where the resampler would be activated even when
there is an ALSA pitch element. (#3628)
- Improve resume from suspend in ALSA. (#3646)
- Add option to expose ALSA controls as prop params.
OBS-URL: https://build.opensuse.org/request/show/1126953
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=170
- Update to version 0.3.84 (1.0RC4):
* Highlights
- Fix a regression with openal because the queued buffers in
the stream were not reported correctly.
- Fix a bug in port busy counters that could cause random
silent links.
- Fix a regression in echo-cancel because it was not reporting
its streams as ASYNC.
- Fix a JACK regression where not all ports were enumerated in
all cases.
- Many more fixes and improvements.
* PipeWire
- pw_stream now reports the queued buffers more accurately.
This fixes a regression when using openal. (#3592)
- The port busy counters were not updated correctly in some
cases. This could lead to negotiation errors and silent
links. (#3547)
- Ignore latency maximum when forcing rate/quantum. (#3613)
- Nodes can now be added to multiple groups and link-groups.
(#3612)
* Modules
- The filter-chain now also handles notify port dependencies
correctly. (#3596)
- Filter-chain has support for new linear, clamp, recip, exp,
log, mult, sine builtin plugins.
- The echo-cancel module now correctly reports its playback and
capture streams as ASYNC to avoid running out of buffers.
(#3593)
- It is now possible to specify an array of remote names to
connect to with the native protocol.
OBS-URL: https://build.opensuse.org/request/show/1122661
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=168
- Update to version 0.3.83:
* Highlights
- A quantum change regression was fixed.
- Use a 2 socket server now for the manager and the
applications with (when wireplumber is updated) different
permissions.
- Reduce memory usage a little in audioconvert and use fewer
buffers.
- Some JACK deadlocks were fixed.
- More bugfixes and improvements.
* PipeWire
- Fix quantum change regression.
- Use a 2 socket server by default. One for the session-manager
and one for applications.
- Fix a potential use-after-free in node and device cleanup.
* modules
- Some hardcoded buffer size limits were removed.
- Fix ASYNC flag on combined-streams.
- Add support for on-demand combined-streams using metadata.
* SPA
- alsa-udev will now ignore PCMs with the ACP_IGNORE udev
environment variable.
- The audioadapter now uses at least 2 buffers when the
follower is async.
- The number of buffers used by plugins was tweaked a little.
Most plugins now only ask 1 buffer.
- Memory usage in audioconvert was reduced.
- Fix some unaligned reads and writes and undefined left shifts
reported by ASAN.
- Rework vulkan dependency checking.
OBS-URL: https://build.opensuse.org/request/show/1119041
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=166
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
- 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
- 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
- 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
- Update to version 0.3.64:
* Highlights
- Clear old buffer memory on ports to fix some SIGBUS errors.
- It is now possible to assign custom port names to the ports
from an adapter. This feature is helpful to those who use a
multichannel interface with long-term connections. This way
they can label each port with its designation, such as an
instrument name or anything else to be displayed in a
patchbay or DAW.
- Fix some issues with node suspend and quantum and rate
calculations.
- Fix some regressions in pulse-tunnel and RTP-source adaptive
resampling that could cause synchronization problems.
- UCM devices now also have a Pro Audio profile.
- NODE_TARGET (with the object.id) is now deprecated, use
TARGET_OBJECT (with the object.serial, which is not reused
and can avoid races).
* PipeWire
- Clear all peer input port buffers when suspending. This fixes
some SIGBUS errors when some plugins were using old memory.
(#2914)
- Fix a case where nodes that were not supposed to be
suspended, were kept suspended on a rate change. (#2929)
- Fix an error in the quantum and rate calculations that could
cause nodes to run with wrong quantum and rates when multiple
rates were allowed. (#2925)
* Tools
- pw-dump will now sort dictionaries to make it easier to
compare different outputs.
- Improve output of pw-reserve.
OBS-URL: https://build.opensuse.org/request/show/1058143
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=103
- Refresh reduce-meson-dependency.patch
- Update to version 0.3.62:
* Highlights
- A regression in screensharing was fixed. It was caused by a race when
activating links and driver nodes.
- Video transform metadata was added so that cameras and screen sharing
can report the video orientation and transformations.
- Support for the PulseAudio module-gsettings was added to make paprefs
work.
- Support for bluetooth offloading was added. This allows for the bluetooth
reception, decoding and playback to happen completely in hardware.
This also requires some support in WirePlumber.
- Many bugfixes and improvements.
* PipeWire
- More work on stopping nodes in a more controlled way.
- Fix a race in starting nodes and drivers. In some cases the driver
node would already be started while the link to the peer node was not
ready yet. This caused regressions in screen sharing. The driver is
now only started after all the followers and links completed.
- Fix a case where a slow capture stream would not recycle buffers
anymore and stall. (glfo#pipewire/pipewire#2874)
- Fix a subtle bug in pw_loop_invoke that could cause callbacks to be
delayed and cause crashes in some cases.
- Fix a case where IPC was done from the data-thread and could cause
crashes.
* Tools
- Silence some expected errors in the pw-top output.
* modules
- The filter-chain has seen some optimizations in the copy plugin and
the convolver.
- The zeroconf plugin will now only unpublish services from the server
that was removed.
- Fix a potential crash when stopping pw-loopback.
- Some harmless errors were turned into info messages.
- Fix some cases where pw_stream methods were called from the data-thread
that could cause segfaults. (glfo#pipewire/pipewire#2633)
* SPA
- There is now a video transform metadata that indicates how a video
frame was transformed (rotated/flipped). libcamera and the GStreamer
elements now have support for this metadata.
- The SPA volume plugin is now disabled from the default build.
- Handle missing control info in libcamera.
- Handle errors from loop better, don't call the callbacks on errors.
- Somewhat improve performance in some audioconvert AVX2 code for format
conversion.
- Fix PortConfig and EnumPortConfig params in audioconvert and
audioadapter to reflect what is actually going on instead of using
hardcoded values.
- Pass ignore-dB property correctly in all cases.
- Probing is now done in 48KHz again. (glfo#pipewire/pipewire#2857)
* Pulse-server
- IPv4 addresses are now added first to the list and exposed first with
zeroconf discover.
- module-gsettings was added to make paprefs work.
- The pulse.idle.timeout option was disabled by default and only enabled
for selected apps (speech-dispatcher) because it caused some problems
for other apps. (glfo#pipewire/pipewire#2880)
* JACK
- Only process valid ports. Could fix some crashes. (glfo#pipewire/pipewire#2863)
* Bluetooth
- Support was added for offloading bluetooth handling. Some hardware can
receive, decode and play the bluetooth audio directly in hardware.
OBS-URL: https://build.opensuse.org/request/show/1042001
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=91
- Update to version 0.3.58:
* Highlights
- Fix a regression that could cause audio crackling.
- Fix a regression in RTKit because rlimit was not set
correctly.
- JAVA sound applications will now alsa work with the
pulseaudio-alsa plugin.
- pw-top will now show the negotiated formats of devices
and streams.
- Fix some potential crashes when starting streams.
- The ALSA plugin has had improved timing reporting and poll
descriptor handling that should improve compatibility.
- Many more improvements and bugfixes.
* PipeWire
- Avoid scheduling nodes before they are added to the graph.
This could avoid some crashes when scheduling nodes that
were not completely started yet. (#2677)
* Tools
- pw-top now also shows the negotiated formats of streams and
devices. (#2566)
- pw-top prints microseconds as "us" now to avoid unicode
problems.
* Modules
- Fix compilation with newer lv2.
- Fix setting realtime priority with RTKit, it was not setting
rlimit correctly and RTKit would refuse to change the
priority.
- Fix some playback problems with RAOP sink. (#2673)
- Filter chain will now warn when a non-existing control
property is used in the config file. (#2685)
OBS-URL: https://build.opensuse.org/request/show/1003754
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=76
- Update to version 0.3.49:
* Highlights
- Sample rate switching should work again.
- pw-dot can now use the output of pw-dump to render a graph.
- Bluetooth A2DP streaming was improved that would reduce
stuttering on some devices.
- A JACK bug was fixed that would sometimes make it impossible
to add more tracks in Ardour. (#1714)
- Many bugfixes and improvements.
* PipeWire
- Fix a potential crash when NULL params were configured.
- Add some simple functional tests to avoid some recent
regressions. Improve the test framework for this as well.
- Improvements to the poll loop to avoid some use-after-free
scenarios.
- Fix samplerate switching again.
- setlocale is not called anymore from the pipewire library.
This should be called by the application. (#2223)
- pw_init() and pw_deinit() can now be nested and called
multiple times.
- pw_stream will now report the resampler delay in the
pw_time.queued field.
* modules
- module-filter-chain now supports arbitrary many properties
and will use property hints to assign them the right type.
- The ROC modules now accept a sink/source_properties
parameter.
- The module-rt can now also be built without RT-Kit support.
- module-echo-cancel can now use a fraction to specify the
delay for more precise control.
OBS-URL: https://build.opensuse.org/request/show/965577
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=52