- 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
- Update to version 0.3.46:
* Highlights:
- Fix a critical bug in pipewire-pulse buffer size handling
that made some apps (MuseScore, ... ) stutter.
- Fix a critical bug where devices would not show when the
kernel was compiled without VERBOSE_PROCSFS.
- JACK clients will now use lock-quantum by default. This
makes sure that all dynamic quantum changes are disabled
while a JACK app is running. The only way to force a
quantum chance is through a JACK app or with the metadata.
- Almost all limits on number of ports, clients and nodes are
removed.
- A Dummy fallback sink is now automatically created when
there are no other sinks. This avoids stalling browsers.
- Sound sharing with Zoom should work better. A new WirePlumber
release might be required.
- Many more fixes and improvements.
* PipeWire
- Update docs with new config overrides.
- The rule matching logic was moved to config and code is now
shared with pulse-server and JACK.
- Add new Romanian translation.
- When a quantum is forced with metadata, any node that asked
to lock-quantum is ignored so that the quantum change can
happen.
- Fix a bug where a mixer was removed twice, leading to
potential memory corruption.
- The port limits on nodes and filters are now removed.
Some code was simplified.
- Fix a potential leak because listeners where removed while
OBS-URL: https://build.opensuse.org/request/show/955613
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=48
- Update to version 0.3.45:
* Highlights
- Zoom, telegram and other apps should be able to play sound
again.
- Implement a better way to force and lock JACK buffersize.
- Default sink and source names and properties are improved.
- The config loader can now load and merge fragments in conf.d
directories for easier user configuration of config files.
- Many small bug fixes and improvements.
* PipeWire
- pw-cli can now also send Commands to nodes. This can be used
to Suspend a device, for example.
- The eventfd was removed from loops and invoke is now used to
stop the loop, this saves an fd.
- New Alpine CI target to test musl builds, various build
fixes.
- Add force-quantum and force-rate properties.
- The config loader can now load and merge fragments in conf.d
directories. (#207)
- resource error methods can be called without a resource and
then just log an error message.
- link-factory can now also work from the config. (#2095)
* modules
- module-simple-protocol has better argument parsing and can
handle channelmap now. (#2068) It's also possible to
configure latency and rate.
- The native protocol now does extra checks for invalid data.
(#2070)
* ALSA
- TI2902 chips as found in various Behringer cards should have
OBS-URL: https://build.opensuse.org/request/show/950942
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=46
- Update to version 0.3.43:
* Highlights:
- Flatpak apps such as Ardour can now remove links again.
- Many fixes to pulse-server. Memory usage should be improved.
Some crashes are fixed. Underrun handling should work better.
Better compatibility with GStreamer based applications after
seeking.
- Many of the samplerate and quantum changes bugs in previous
releases were fixed. This fixes some issues where the
microphone would fail to work.
- Many more small fixes and improvements all over the place.
OBS-URL: https://build.opensuse.org/request/show/944108
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=39
- Update to version 0.3.41:
* Highlights
- Improved compatibility for flatpaks. Flatpaks with newer
PipeWire version can connect to an older server in all cases.
- A new RAOP module was added to stream to Apple Airplay
devices.
- OBS can now capture from the monitor devices again when using
WirePlumber.
- Improved JACK compatibility. Improved stability in Carla and
Ardour when changing buffer size. Improved latency
calculations and playback latency in Ardour.
- Improved pulse-server handling of underruns and buffer size
changes.
- Many bugfixes and improvements.
* PipeWire
- The systemd service files now have better names.
- client.access permission checks are improved.
- Fix some memory leaks in error paths.
- Objects now have a global serial number that is unique for
the lifetime of the server.
- Make clock.rate, clock.allowed-rates and clock.quantum
runtime tunable parameters with the settings metadata.
- Add some additional memory checks in client-node to avoid
sending invalid memory to clients. (#1859)
- Improve buffer memory allocation. If one of the nodes is a
remote node, ensure we only use memory that can be shared.
- Version checks when binding to objects is removed. This means
that newer clients can now bind to older servers, which is a
typical case for a flatpak.
- A bug in the latency calculations was fixed where it would in
OBS-URL: https://build.opensuse.org/request/show/940178
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=33
- Update to version 0.3.40:
* Highlights:
- Producers and consumers can now incrementally negotiate a
format by narrowing down the options. This can be used to
select an optimal combination of format and modifiers.
- Driver nodes such as the consumer of a headless compositor
can now throttle the speed based on a new trigger_done event.
- Headless compositors can now signal a damage event to
consumers to start the processing of the graph.
- Compatibility improvements in JACK.
- Draining and resuming is now working correctly in pulse and
alsa.
- Many bugfixes and improvements.
* PipeWire:
- Many BSD fixes.
- clang compilation fixes.
- Fix map implementation on big-endian machines.
- Improve tracking of param changes in pw-stream.
- Add support for renegotiation. With this change, producer and
consumer can incrementally renegotiate a format until it is
fixed. This will be used to do complex negotiation of DRM
modifiers.
- Add a trigger-done event in the stream. This can be used to
know when processing of the complete graph has finished after
issuing a trigger_process() and it can be used to throttle
processing.
- Add a RequestProcess node event and command. This can be used
by non-driver nodes to suggest to a driver to start
processing. One case is where a compositor can emit this
event as a result of a screen update to let the headless
compositor start an update.
- Fix zeroconf sample format.
- pw-mon outputs to stderr now and has colors.
* SPA:
- Fix compilation on ppc and armv7.
- Fix port type check for ALSA seq midi ports so that they are
not falsely listed as hardware.
- Fix crash when running SSE code on unsupported HW.
- The libcamera plugin was rewritten. It now supports hotplug,
format enumeration and an easier to read codebase.
- Fix compatibility some more for cards with 64 channels.
* pulse-server:
- Flush data in pause in combine-sink to avoid stray audio
fragments.
- Fix a race where not all objects were removed correctly.
- The latency calculations and setup was improved to more
closely match pulseaudio behaviour. PULSE_LATENCY_MSEC should
now resemble pulseaudio more closely.
- The drained reply is now sent only once and new data will be
accepted once the drain completes.
- Fix a potential crasher bug where the stream started
processing before the setup was completed.
- The server will now drop the client connections when the
pipewire connection is lost.
* JACK:
- Rework the jack_port_get_buffer() method to return the same
memory when called multiple times during the process()
callback. This makes things work on a new Hydrogen.
- Add an option to disable showing the monitor ports.
- JACK ports are now sorted per node/client and port_id. This
should more closely match JACK behaviour and avoid random
port order.
* v4l2:
- Fix v4l2 LD_PRELOAD script.
- Make sure we destroy the proxy when the global is destroyed.
* ALSA:
- _prepare should exit the draining state.
- Fix the precision of the _delay function by taking into
account the amount of queued samples are the correct
samplerate.
- Drop patches fixed upstream:
* 0001-cpu-fix-compilation-on-some-architectures.patch
* 0001-map-make-_insert_at-fail-on-a-removed-item.patch
* 0002-map-use-uintptr_t-for-the-next-pointer.patch
OBS-URL: https://build.opensuse.org/request/show/931141
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=27
- Update to version 0.3.39
* Highlights
- media-session is now moved into a separate module to speed up
its deprecation in favour of WirePlumber.
- There is now an LD_PRELOAD v4l2 emulation library to run some
existing v4l2 applications on top of PipeWire.
- Filter-chains should now flush out remaining samples when
paused. There is now also the option to let a filter-chain
drain so that long filters
such as reverbs can fade out properly.
- Stability and compatibility improvements in JACK apps.
- Better Bluetooth compatibility with more devices.
- libcamera plugin improvements.
- Many bugfixes and improvements all over the map.
* PipeWire
- Fix compilation on ARM.
- Log topics are added to most modules.
- Documentation updates. Many improvements to the layout.
Reorganisation of the modules and groups.
- Share a work queue for all links and nodes. This removes the
need for a separate eventfd per link and per node.
- Catch errors in the map implementation.
- Add option to compile without dbus support.
- Fix biquad frequency. It was using the wrong sample rate.
- Fix a potential crash when destroying nodes, in some cases
the node would not be deactivated properly.
- Add some more helpers for dealing with properties and their
values.
- Implement flush and reset on virtual sinks/sources.
- Make it possible to let virtual sinks/filter-chains run and
OBS-URL: https://build.opensuse.org/request/show/926684
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=22
- Update to version 0.3.38:
* Highlights
- Topic based logging was added to improve debugging.
- An off-by-one error was fixed in the audio resampler that could
cause distortion when downsampling.
- Various bluetooth compatibility improvements.
- More fixes and improvements.
* PipeWire
- module-pulse-tunnel now has better default latency to make it work
better in more cases. There is also an option to configure the
desired latency.
- pw-cli now has readline support.
- Topic based logging was added. Log lines can now be filtered by
topic using wildcards. This should improve debugging.
- The systemd service files should now have better descriptions.
- Fix a crash in module-zeroconf-discover when unloading.
- Fix a crash in filter-chain when using unaligned memory.
* ALSA
- Sync the udev rules and profiles with pulseaudio.
- Fix a memory leak.
* SPA plugins
- An off-by-one error was fixed in the resampler that could cause
distortion when downsampling. (#1646)
* Bluetooth
- Avoid probing the native backend because it might block for DBus
activation. This fixes some long startup times.
- Fix the kernel version check, 5.14.x kernels should also support
mSBC.
- Fix FastStream microphone support in more cases.
- Add workaround for Intel AX200.
OBS-URL: https://build.opensuse.org/request/show/922337
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=20
- Update to version 0.3.37:
* Highlights
- Capture and playback is now avoided even more on unavailable
devices. This should fix some issues where an unusable
microphone was selected by default. It should now also again
be possible to select an unavailable device as the default.
- Native DSD audio playback is now supported. pw-cat can now
also play DSF files with the -d option.
- JACK stability improvements with buffer-size and samplerate
changes in some apps.
- Many cleanups and bugfixes all over the place.
* PipeWire
- pw-metadata -d does not cause an infinite loop anymore.
(#1622)
- Increase some plugin buffer sizes to fix some issues with
many channels. (#1620)
- Protect the global plugin list with a lock. Make sure
pw_init() is locked. Fixes some issues with concurrent ALSA
plugin usage.
* media-session
- Unavailable devices can be set as the default again. (#1624)
- Do a better check if a device has available routes and avoid
selecting devices with unavailable routes as default.
- Media-session was moved to its own directory. It used to live
in examples but it is past the example stage and it
interferes with the build options for the real examples.
* Bluetooth
- The hardware quirk database is now loaded by the plugin
instead of the session manager. This makes it also work with
wireplumber.
OBS-URL: https://build.opensuse.org/request/show/921126
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=19
- Update to version 0.3.36:
* Highlights
- A quick update with mostly only bugfixes and small
improvements.
- Capture and playback is now avoided on unavailable devices.
This should fix some issues where an unusable microphone was
selected by default.
- MIDI output should not stop randomly now.
- The GStreamer elements are much improved, cheese should work
a lot better now.
- Virtual sinks and sources should now always show up
immediately.
- JACK processing is now delayed until buffersize and
samplerate are emited. This should improve stability of many
JACK apps.
- JACK transport sync is now implemented correctly so that
preroll in bitwig works.
* PipeWire
- The module dir environment variable can now contain multiple
paths.
- Documentation now contains dot graphs of dependencies.
(#1585)
- config min/max/default quantum values are now scaled with the
samplerate.
- A potential crash was fixed where destroyed memory was still
used by a node. This could cause crashes in cheese.
* pipewire-media-session
- Only allow passthrough for passthrough formats (S/PDIF) for
now. (#1587)
- Improve bluetooth profile autoswitch.
OBS-URL: https://build.opensuse.org/request/show/919537
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=17
- Update to version 0.3.35:
* Highlights:
- S/PDIF passthrough over optical or HDMI is now implemented.
- Some critical fixes to MIDI, draining of streams and various
modules.
- skypeforlinux should work better now after adding it to the
quirks database.
- Bluetooth codecs are now in separate plugins to make it
easier to ship them.
* PipeWire:
- Drain was fixed in pw-stream. In some cases it would not
clear the drain state correctly. Fixes the issue where
speaker-test would only play one channel.
- Loopback connections to a driver will now activate the
driver. This fixes an issue where MIDI connections between
devices or some applications (puredata) would not get any
MIDI messages. (#1559)x.
- The audiomixer can now mix more formats. Together with the
passthrough improvements this can be used to avoid
conversions to/from the DSP format in some cases.
- Make sure we idle drivers when removing a node from it in all
cases. JACK clients could keep a driver node busy.
- Add new methods to accumulate object info. The old one was
difficult to use when applications need to accumulate
multiple changes.
- A new interface to load modules has been added. Plugins can
use this to ask the host (PipeWire) to load spa plugins.
- Increase param buffer size to handle larger params. Nodes
with a large number of channels would sometimes not have
properties. (#1574)
OBS-URL: https://build.opensuse.org/request/show/917721
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=16
- Update to version 0.3.34:
* Highlights
- Fixes some critical issues with previous release. Such as
devices not showing up and default devices being lost.
- Support for consumer driver streams to make the producer
v-sync to the consumer monitor in a headless compositor
setup.
- Improvements to routing of streams.
- Bluetooth battery status support for head-set profile and
using Apple extensions. aptX-LL and FastStream codec support
was added.
- Internal latency of ALSA devices can now be configured.
- A fast convolver was added to the filter-chain to implement
virtual surround sinks or reverbs.
* PipeWire
- Add support for streams that are driver nodes for the graph.
This was already possible for source streams but it is now
also possible for playback streams. This can be used to let
a producer v-sync to the consumer monitor in a headless
compositor setup. (#1484)
- State files are now stored in XDG_STATE_HOME instead of
XDG_CONFIG_HOME. They will still be loaded from the config
home if they are not in the new state home, to ease
migration.
- Set a driver on inactive nodes to make transport work in
xjadeo. (#1491)
- Fix parsing of filter-chain controls.
- A new FFT based convolver was added to module-filter-chain.
It uses a 0-latency 2 stage convolver with small FFT for the
head and a large FFT for the tail of the convolution. A
OBS-URL: https://build.opensuse.org/request/show/914410
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=14
- Update to version 0.3.33:
* Highlights
- Better support for virtual sinks/sources for Pro Audio
profile.
- Better DMA-BUF format modifier negotiation.
- Support multiple sample rates in the graph. Not enabled
by default yet.
- Bluetooth can now automatically switch between headset
and audio profile.
- Documentation updates.
- Many improvements and crasher fixes.
* PipeWire
- Make AUX channels an official channel map, use this for the
PRO audio profile so that we can name the channels. This
make it possible to define virtual sources and sinks for
Pro Audio devices in a more reliable way.
- Fix scheduling of some virtual sinks/sources. (#1407)
- Fix potential corruption of ringbuffer because of multiple
concurrent writers. This might be the cause for many reported
crashes. (#1451)
- Don't place sockets in $HOME. (#1443)
- Improve DMA-BUF negotiation. Add a flag to avoid fixation
of a property so that producers can negotiate more
efficiently. This is used to negotiate DMA-BUF modifiers,
which should make more efficient use of the GPU. (#1084)
- Add support for multipe sample rates. The graph can switch
when IDLE to one of the supported rates. Add an option to
lock the rate as well. This is not enabled by default yet
because of driver bugs that need to be worked around first.
- Add node.lock-quantum property that can be used to lock the
OBS-URL: https://build.opensuse.org/request/show/910352
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=13