- 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
- Add patch from upstream to avoid division by 0 and other issues
with invalid values (glfo#pipewire/pipewire#2953):
* 0001-alsa-guard-against-some-invalid-values.patch
- Add patch from upstream to fix causing an overflow resulting in
choppy sound in some cases (glfo#pipewire/pipewire#2680):
* 0001-spa-Fix-audioconvert-overflow-when-scaling.patch
- Add patch from upstream to fix a crash on arm:
* 0001-cpu-arm-Fix-incorrect-free.patch
(glfo#pipewire/pipewire#2914)
suspended, were kept suspended on a rate change.
(glfo#pipewire/pipewire#2929)
rates were allowed. (glfo#pipewire/pipewire#2925)
(glfo#pipewire/pipewire#2891)
properties. (glfo#pipewire/pipewire#2933)
echo-cancel. (glfo#pipewire/pipewire#2939)
(glfo#pipewire/pipewire#1599)
fail. This caused problems for espeak.
(glfo#pipewire/pipewire#2928)
set to -1. (glfo#pipewire/pipewire#2893)
OBS-URL: https://build.opensuse.org/request/show/1058858
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=106
- 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