2241 lines
104 KiB
Plaintext
2241 lines
104 KiB
Plaintext
|
-------------------------------------------------------------------
|
||
|
Wed Dec 4 10:29:34 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.7:
|
||
|
* Highlights:
|
||
|
- Fixed an issue that would cause random profile switching when
|
||
|
an application was trying to capture from non-Bluetooth
|
||
|
devices (#715, #634, !669)
|
||
|
- Fixed an issue that would cause strange profile selection
|
||
|
issues [choices not being remembered or unavailable routes
|
||
|
being selected] (#734)
|
||
|
- Added a timer that delays switching Bluetooth headsets to the
|
||
|
HSP/HFP profile, avoiding needless rapid switching when an
|
||
|
application is trying to probe device capabilities instead of
|
||
|
actually capturing audio (!664)
|
||
|
- Improved libcamera/v4l2 device deduplication logic to work
|
||
|
with more complex devices (!674, !675, #689, #708)
|
||
|
* Fixes:
|
||
|
- Fixed two memory leaks in module-mixer-api and
|
||
|
module-dbus-connection (!672, !673)
|
||
|
- Fixed a crash that could occur in module-reserve-device
|
||
|
(!680, #742)
|
||
|
- Fixed an issue that would cause the warning
|
||
|
"[string "alsa.lua"]:182: attempt to concatenate a nil value
|
||
|
(local 'node_name')" to appear in the logs when an ALSA
|
||
|
device was busy, breaking node name deduplication (!681)
|
||
|
- Fixed an issue that could make find-preferred-profile.lua
|
||
|
crash instead of properly applying profile priority rules
|
||
|
(#751)
|
||
|
- Remove patches that are already included in 0.5.7:
|
||
|
* 0001-autoswitch-bluetooth-profile-switch-only-Bluetooth-devices.patch
|
||
|
* 0002-autoswitch-bluetooth-profile-Switch-to-HSP_HFP-on-timeout.patch
|
||
|
* 0003-m-mixer-api-Fix-memory-in-leak-wp_mixer_api_set_volume.patch
|
||
|
* 0004-module-dbus-connection-fix-GCancellable-leak.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Oct 21 15:52:33 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix switching automatically the
|
||
|
profile of non-bluetooth devices (boo#1231815):
|
||
|
* 0001-autoswitch-bluetooth-profile-switch-only-Bluetooth-devices.patch
|
||
|
- Add patch from upstream to fix switching automatically the
|
||
|
profile when starting some apps and then switching to the
|
||
|
previous profile:
|
||
|
* 0002-autoswitch-bluetooth-profile-Switch-to-HSP_HFP-on-timeout.patch
|
||
|
- Add patches from upstream to fix a couple of memory leaks:
|
||
|
* 0003-m-mixer-api-Fix-memory-in-leak-wp_mixer_api_set_volume.patch
|
||
|
* 0004-module-dbus-connection-fix-GCancellable-leak.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Sep 9 12:12:28 UTC 2024 - Frederic Crozat <fcrozat@suse.com>
|
||
|
|
||
|
- Update to version 0.5.6:
|
||
|
* Additions:
|
||
|
- Implemented before/after dependencies for components, to
|
||
|
ensure correct load order in custom configurations (#600)
|
||
|
- Implemented profile inheritance in the configuration file.
|
||
|
This allows profiles to inherit all the feature specifications
|
||
|
of other profiles, which is useful to avoid copying long lists
|
||
|
of features just to make small changes
|
||
|
- Added multi-instance configuration profiles, tested and
|
||
|
documented them
|
||
|
- Added a ``main-systemwide`` profile, which is now the default
|
||
|
for instances started via the system-wide systemd service and
|
||
|
disables features that depend on the user session (#608)
|
||
|
- Added a ``wp_core_connect_fd`` method, which allows making a
|
||
|
connection to PipeWire via an existing open socket (useful
|
||
|
for portal-based connections)
|
||
|
* Fixes:
|
||
|
- The Bluetooth auto-switch script now uses the common event
|
||
|
source object managers, which should improve its
|
||
|
stability (!663)
|
||
|
- Fix an issue where switching between Bluetooth profiles
|
||
|
would temporarily link active audio streams to the internal
|
||
|
speakers (!655)
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Jul 2 08:14:44 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.5:
|
||
|
* Highlights:
|
||
|
- Hotfix release to address crashes in the Bluetooth HSP/HFP
|
||
|
autoswitch functionality that were side-effects of some
|
||
|
changes that were part of the role-based linking policy
|
||
|
(#682)
|
||
|
* Improvements:
|
||
|
- wpctl will now properly show a '*' in front of sink filters
|
||
|
when they are selected as the default sink (!660)
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Jun 28 06:01:56 UTC 2024 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.5.4+git2.96dc045:
|
||
|
* l/find-best-target: Allow regular filters to be best targets
|
||
|
* linking-utils: fallback to role priority 0 if none is defined
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Jun 28 05:56:38 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.4:
|
||
|
* Highlights:
|
||
|
- Refactored the role-based linking policy (previously known
|
||
|
also as "endpoints" or "virtual items" policy) to blend in
|
||
|
with the standard desktop policy. It is now possible use
|
||
|
role-based sinks alongside standard desktop audio operations
|
||
|
and they will only be used for streams that have a
|
||
|
"media.role" defined. It is also possible to force streams to
|
||
|
have a media.role, using a setting. Other features include:
|
||
|
blending with smart filters in the graph and allowing
|
||
|
hardware DSP nodes to be also used easily instead of
|
||
|
requiring software loopbacks for all roles. (#610, !649)
|
||
|
* Improvements:
|
||
|
- Filters that are not declared as smart will now behave again
|
||
|
as normal application streams, instead of being treated
|
||
|
sometimes differently (!657)
|
||
|
* Fixes:
|
||
|
- Fixed an issue that would cause WirePlumber to crash at
|
||
|
startup if an empty configuration file was present in one of
|
||
|
the search paths (#671)
|
||
|
- Fixed Bluetooth profile auto-switching when a filter is
|
||
|
permanently linked to the Bluetooth source (!650)
|
||
|
- Fixed an issue in the software-dsp script that would cause
|
||
|
DSP filters to stay around and cause issues after their
|
||
|
device node was destroyed (!651)
|
||
|
- Fixed an issue in the autoswitch-bluetooth-profile script
|
||
|
that could cause an infinite loop of switching between
|
||
|
profiles (!652, #617)
|
||
|
- Fixed a rare issue that could cause WirePlumber to crash when
|
||
|
dealing with a device object that didn't have the
|
||
|
"device.name" property set (#674)
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Jun 26 11:08:08 UTC 2024 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.5.3+git11.4868b3c:
|
||
|
* get-filter-from-target: Don't bypass the hook if the session item is a regular filter
|
||
|
* filter-utils: Allow smart filters to have as target filters that are not smart
|
||
|
* tests: skip some tests when audiotestsrc is unavailable
|
||
|
* scripts/device: avoid crashing if the device.name is not set
|
||
|
* tests/examples: add example on how to set node "params" under Props
|
||
|
* autoswitch-bluetooth-profile: Always destroy the restore timeout source before switching
|
||
|
* node/software-dsp: ensure that filter chains are properly unloaded
|
||
|
* scripts: Fix autoswitch BT profile when using filters
|
||
|
* bluez: Don't create loopback source if autoswitch setting is disabled
|
||
|
* conf: further improve how top-level objects are handled
|
||
|
* conf: skip empty configuration files to avoid crashing
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Jun 4 22:08:54 UTC 2024 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.5.3:
|
||
|
* Fixes:
|
||
|
- Fix a long standing issue that would cause many device nodes
|
||
|
to have inconsistent naming, with a '.N' suffix (where N is
|
||
|
a number >= 2) being appended at seemingly random times.
|
||
|
- Fix an issue that would cause unavailable device profiles to
|
||
|
be selected if they were previously stored in the state file,
|
||
|
sometimes requiring users to manually remove the state file
|
||
|
to get things working again.
|
||
|
- Fix an occasional crash that could sometimes be triggered by
|
||
|
hovering the volume icon on the KDE taskbar, and possibly
|
||
|
other similar actions.
|
||
|
- Fix camera device deduplication logic when the same device
|
||
|
is available through both V4L2 and libcamera, and the
|
||
|
libcamera one groups multiple V4L2 devices together.
|
||
|
- Fix applying the default volume on streams that have no
|
||
|
volume previously stored in the state file.
|
||
|
- Fix an issue that would prevent some camera nodes,
|
||
|
in some cases, from being destroyed when the camera device
|
||
|
is removed.
|
||
|
- Fix an issue that would cause video stream nodes to be
|
||
|
linked with audio smart filters, if smart audio filters were
|
||
|
configured.
|
||
|
- Fix an issue that would cause WP to re-activate device
|
||
|
profiles even though they were already active.
|
||
|
- Configuration files in standard JSON format (starting with a
|
||
|
'{', among other things) are now correctly parsed.
|
||
|
- Fix overriding non-container values when merging JSON
|
||
|
objects.
|
||
|
- Functions marked with WP_PRIVATE_API are now also marked as
|
||
|
non-introspectable in the gobject-introspection metadata.
|
||
|
* Improvements:
|
||
|
- Logging on the systemd journal now includes the log topic
|
||
|
and also the log level and location directly on the message
|
||
|
string when the log level is high enough, which is useful
|
||
|
for gathering additional context in logs submitted by users.
|
||
|
- Add a video-only profile in wireplumber.conf, for systems
|
||
|
where only camera & screensharing are to be used.
|
||
|
- Improve seat state monitoring so that Bluetooth devices are
|
||
|
only enabled when the user is active on a local seat,
|
||
|
instead of allowing remote users as well.
|
||
|
- Improve how main filter nodes are detected for the smart
|
||
|
filters.
|
||
|
- Add Lua method to merge JSON containers.
|
||
|
- Remove patch already included upstream:
|
||
|
* 0001-lua-json-fix-error-ouput.patch
|
||
|
* 0002-lua-json-add-method-to-merge-json-containers.patch
|
||
|
* 0003-json-utils-fix-overriding-of-non-container-values-when.patch
|
||
|
* 0004-transition-fix-memleak-when-error-set.patch
|
||
|
* 0005-transition-ensure-single-completion-and-finish.patch
|
||
|
* 0006-linking-return-after-aborting-transition.patch
|
||
|
* 0007-state-stream-fix-using-default-volume.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Sat May 25 13:28:01 UTC 2024 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Add patches from upstream to fix a crash for aborted links:
|
||
|
* 0004-transition-fix-memleak-when-error-set.patch
|
||
|
* 0005-transition-ensure-single-completion-and-finish.patch
|
||
|
* 0006-linking-return-after-aborting-transition.patch
|
||
|
- Add patch from upstream to fix default playback volume ignore:
|
||
|
* 0007-state-stream-fix-using-default-volume.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon May 6 16:23:47 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Better fix for (bsc#1223916) that basically turns the main
|
||
|
profile into the (to be in 0.5.3) video-only profile unless
|
||
|
wireplumber-audio is installed which now turns the main profile
|
||
|
into exactly upstream's main profile.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon May 6 07:41:23 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix a json log issue:
|
||
|
* 0001-lua-json-fix-error-ouput.patch
|
||
|
- Add patch from upstream to add a method to merge json containers:
|
||
|
* 0002-lua-json-add-method-to-merge-json-containers.patch
|
||
|
- Add patch from upstream to fix merging a particular case
|
||
|
of configuration options:
|
||
|
* 0003-json-utils-fix-overriding-of-non-container-values-when.patch
|
||
|
- Fix wireplumber not starting successfully when audio support is
|
||
|
not enabled since the main profile now requires it. The best
|
||
|
option would be to use a video-only profile but it's too late
|
||
|
to change the way wireplumber is started in SLE/Leap, so the
|
||
|
solution just makes audio/bluetooth optional for now
|
||
|
(bsc#1223916)
|
||
|
* split-config-file.py
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Apr 23 06:48:06 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.2:
|
||
|
* Highlights:
|
||
|
- Added support for loading configuration files other than the
|
||
|
default wireplumber.conf within Lua scripts (!629)
|
||
|
- Added support for loading single-section configuration files,
|
||
|
without fragments (!629)
|
||
|
- Updated the node.software-dsp script to be able to load
|
||
|
filter-chain graphs from external configuration files, which
|
||
|
is needed for Asahi Linux audio DSP configuration (!629)
|
||
|
* Fixes:
|
||
|
- Fixed destroying camera nodes when the camera device is
|
||
|
removed (#627, !631)
|
||
|
- Fixed an issue with Bluetooth BAP device set naming (!632)
|
||
|
- Fixed an issue caused by the pipewire event loop not being
|
||
|
"entered" as expected (!634, #638)
|
||
|
- A false positive warning about no modules being loaded is
|
||
|
now suppressed when using libpipewire >= 1.0.5 (#620)
|
||
|
- Default nodes can now be selected using priority.driver when
|
||
|
priority.session is not set (#642)
|
||
|
* Changes:
|
||
|
- The library version is now generated following pipewire's
|
||
|
versioning scheme: libwireplumber-0.5.so.0.5.2 becomes
|
||
|
libwireplumber-0.5.so.0.0502.0 (!633)
|
||
|
- Remove patches from upstream that are already in 0.5.2:
|
||
|
* 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch
|
||
|
* 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch
|
||
|
* 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Apr 15 07:54:54 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to silence a warning on pipewire
|
||
|
(since 1.0.5):
|
||
|
* 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch
|
||
|
- Add patch from upstream to fix a dangling reference to a device:
|
||
|
* 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch
|
||
|
- Add patch from upstream to fix BAP node naming:
|
||
|
* 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Apr 1 07:53:59 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.1:
|
||
|
* Highlights:
|
||
|
- Added a guide documenting how to migrate configuration from
|
||
|
0.4 to 0.5, also available online at:
|
||
|
https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
|
||
|
If you are packaging WirePlumber for a distribution, please
|
||
|
consider informing users about this. Installing the
|
||
|
wireplumber-doc subpackage, this file can be read by running:
|
||
|
xdg-open /usr/share/doc/wireplumber/html/daemon/configuration/migration.html
|
||
|
* Fixes:
|
||
|
- Fixed an odd issue where microphones would stop being usable
|
||
|
when a Bluetooth headset was connected in the HSP/HFP profile
|
||
|
(#598, !620)
|
||
|
- Fixed an issue where it was not possible to store the
|
||
|
volume/mute state of system notifications (#604)
|
||
|
- Fixed a rare crash that could occur when a node was destroyed
|
||
|
while the 'select-target' event was still being processed
|
||
|
(!621)
|
||
|
- Fixed deleting all the persistent settings via
|
||
|
wpctl --delete (!622)
|
||
|
- Fixed using Bluetooth autoswitch with A2DP profiles that have
|
||
|
an input route (!624)
|
||
|
- Fixed sending an error to clients when linking fails due to a
|
||
|
format mismatch (!625)
|
||
|
* Additions:
|
||
|
- Added a check that prints a verbose warning when old-style
|
||
|
0.4.x Lua configuration files are found in the system. (#611)
|
||
|
- The "policy-dsp" script, used in Asahi Linux to provide a
|
||
|
software DSP for Apple Sillicon devices, has now been ported
|
||
|
to 0.5 properly and documented (#619, !627)
|
||
|
- Remove patch already included upstream:
|
||
|
* 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch
|
||
|
- Enable documentation generation and create new doc subpackage
|
||
|
including the documentation that can be read by running:
|
||
|
xdg-open /usr/share/doc/wireplumber/html/index.html
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Mar 22 08:30:48 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix all input sources only working
|
||
|
when bluetooth profile is set to HSF/HFP, which was a regression
|
||
|
in 0.5.0 (glfo#pipewire/wireplumber#598):
|
||
|
* 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 19 07:43:16 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||
|
|
||
|
- Avoid %if %{pkg_vcmp gcc < 8}, instead replicate the condition
|
||
|
from the BuildRequires section.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Mar 18 16:34:10 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.5.0:
|
||
|
* Changes:
|
||
|
- Bumped the minimum required version of PipeWire to 1.0.2,
|
||
|
because we make use of the 'api.bluez5.internal' property of
|
||
|
the BlueZ monitor (!613)
|
||
|
- Improved the naming of Bluetooth nodes when the
|
||
|
auto-switching loopback node is present (!614)
|
||
|
- Updated the documentation on "settings", the Bluetooth
|
||
|
monitor, the Access configuration, the file search locations
|
||
|
and added a document on how to modify the configuration file
|
||
|
(#595, !616)
|
||
|
* Fixes:
|
||
|
- Fixed checking for available routes when selecting the
|
||
|
default node (!609)
|
||
|
- Fixed an issue that was causing an infinite loop storing
|
||
|
routes in the state file (!610)
|
||
|
- Fixed the interpretation of boolean values in the alsa
|
||
|
monitor rules (#586, !611)
|
||
|
- Fixes a Lua crash when we have 2 smart filters, one with a
|
||
|
target and one without (!612)
|
||
|
- Fixed an issue where the default nodes would not be updated
|
||
|
when the currently selected default node became unavailable
|
||
|
(#588, !615)
|
||
|
- Fixed an issue that would cause the Props (volume, mute, etc)
|
||
|
of loopbacks and other filter nodes to not be restored at
|
||
|
startup (#577, !617)
|
||
|
- Fixed how some constants were represented in the
|
||
|
gobject-introspection file, mostly by converting them from
|
||
|
defines to enums (#540, #591)
|
||
|
- Fixed an issue using WirePlumber headers in other projects
|
||
|
due to redefinition of G_LOG_DOMAIN (#571)
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 12 16:25:39 UTC 2024 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.4.90+git25.95cfa9e:
|
||
|
* wpctl: fix settings --help listing
|
||
|
* docs: conf_file: small updates
|
||
|
* docs: installing: update dependency versions
|
||
|
* si-linkables: do not fully reset when the underlying proxy is
|
||
|
destroyed
|
||
|
* registry: move to a separate file and decouple it from the
|
||
|
object manager
|
||
|
* log: docs: document the log topic definition macros
|
||
|
* monitors/bluez: add 'internal' prefix to internal bluez node
|
||
|
names.
|
||
|
* monitor/bluez: set node.name property when creating combine
|
||
|
stream
|
||
|
* meson: bump min pipewire version to 1.0.2
|
||
|
* scripts: fix regression in state-routes.lua when marking routes
|
||
|
as 'active'
|
||
|
* scripts: improve linking logs
|
||
|
* monitors: use parseBool for boolean properties in rules
|
||
|
* config: add {device|node}.disable
|
||
|
* object-interest: make WP_INTEREST_MATCH_ALL part of the enum
|
||
|
* proxy: make the FEATURES_MINIMAL and FEATURES_ALL constants
|
||
|
part of the enum
|
||
|
* log: fix WP_LOG_LEVEL_TRACE value in the g-i bindings
|
||
|
* base-dirs: wrap flag groups in parenthesis
|
||
|
* log.h: define G_LOG_DOMAIN only if
|
||
|
WP_USE_LOCAL_LOG_TOPIC_IN_G_LOG is defined
|
||
|
* meson: make sure the boolean options have boolean values
|
||
|
* meson: move the common CFLAGS to project-wide scope
|
||
|
* scripts: make sure target is not nil when iterating filters
|
||
|
with matching targets
|
||
|
* docs: update the documentation around file search locations
|
||
|
* scripts: rescan linkables when device EnumRoute param changes
|
||
|
* scripts: fix available routes check when selecting the default
|
||
|
node
|
||
|
* scripts: fix typo in rescan-virtual-links.lua
|
||
|
- Remove patch already included in the upstream version
|
||
|
* 0001-scripts-fix-typo-in-rescan-virtual-links.lua.patch
|
||
|
- Set minimum pipewire version to 1.0.2
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Mar 6 15:43:02 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Revert that last change. Obsoletes shouldn't be used for that.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Mar 6 11:27:41 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Obsolete libwireplumber-0_4-0 from libwireplumber-0_5-0
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 5 19:29:02 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix a typo a lua script:
|
||
|
* 0001-scripts-fix-typo-in-rescan-virtual-links.lua.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 5 05:36:27 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.90 (0.5.0 RC1)
|
||
|
* Highlights:
|
||
|
- The configuration system has been changed back to load files
|
||
|
from the WirePlumber configuration directories, such as
|
||
|
/etc/wireplumber and $XDG_CONFIG_HOME/wireplumber, unlike in
|
||
|
the pre-releases. This was done because issues were observed
|
||
|
with installations that use a different prefix for pipewire
|
||
|
and wireplumber. If you had a wireplumber.conf file in
|
||
|
/etc/pipewire or $XDG_CONFIG_HOME/pipewire, you should move
|
||
|
it to /etc/wireplumber or $XDG_CONFIG_HOME/wireplumber
|
||
|
respectively (!601)
|
||
|
- The internal base directories lookup system now also respects
|
||
|
the XDG_CONFIG_DIRS and XDG_DATA_DIRS environment variables,
|
||
|
and their default values as per the XDG spec, so it is
|
||
|
possible to install configuration files also in places like
|
||
|
/etc/xdg/wireplumber and override system-wide data paths
|
||
|
(!601)
|
||
|
- wpctl now has a settings subcommand to show, change and
|
||
|
delete settings at runtime. This comes with changes in the
|
||
|
WpSettings system to validate settings using a schema that is
|
||
|
defined in the configuration file. The schema is also
|
||
|
exported on a metadata object, so it is available to any
|
||
|
client that wants to expose WirePlumber settings (!599, !600)
|
||
|
- The WpConf API has changed to not be a singleton and support
|
||
|
opening arbitrary config files. The main config file now
|
||
|
needs to be opened prior to creating a WpCore and passed to
|
||
|
the core using a property. The core uses that without letting
|
||
|
the underlying pw_context open and read the default
|
||
|
client.conf. The core also closes the WpConf after all
|
||
|
components are loaded, which means all the config loading is
|
||
|
done early at startup. Finally, WpConf loads all sections
|
||
|
lazily, keeping the underlying files memory mapped until it
|
||
|
is closed and merging them on demand (!601, !606)
|
||
|
- Remove patch that's already included:
|
||
|
* 0001-wpctl-add-settings-subcomand-to-show_-delete-or-change.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Feb 19 07:29:52 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to remove the "clear-persistent"
|
||
|
sub-command and add a "settings" sub-command:
|
||
|
* 0001-wpctl-add-settings-subcomand-to-show_-delete-or-change.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Feb 15 07:23:41 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.82 (0.5.0 pre-release 2)
|
||
|
* Highlights:
|
||
|
- Bluetooth auto-switching is now implemented with a virtual
|
||
|
source node. When an application links to it, the actual
|
||
|
device switches to the HSP/HFP profile to provide the real
|
||
|
audio stream. This is a more robust solution that works with
|
||
|
more applications and is more user-friendly than the previous
|
||
|
application whitelist approach
|
||
|
- Added support for dynamic log level changes via the PipeWire
|
||
|
settings metadata. Also added support for log level patterns
|
||
|
in the configuration file
|
||
|
- The "persistent" (i.e. stored) settings approach has changed
|
||
|
to use two different metadata objects: sm-settings and
|
||
|
persistent-sm-settings. Changes in the former are applied in
|
||
|
the current session but not stored, while changes in the
|
||
|
latter are stored and restored at startup. Some work was also
|
||
|
done to expose a wpctl interface to read and change these
|
||
|
settings, but more is underway
|
||
|
- Several WirePlumber-specific node properties that used to be
|
||
|
called target.* have been renamed to node.* to match the
|
||
|
PipeWire convention of node.dont-reconnect. These are also
|
||
|
now fully documented
|
||
|
* Other changes:
|
||
|
- Many documentation updates
|
||
|
- Added support for SNAP container permissions
|
||
|
- Fixed multiple issues related to restoring the Route
|
||
|
parameter of devices, which includes volume state
|
||
|
- Smart filters can now be targetted by specific streams
|
||
|
directly when the filter.smart.targetable property is set
|
||
|
- Ported the mechanism to override device profile priorities in
|
||
|
the configuration, which is used to re-prioritize Bluetooth
|
||
|
codecs
|
||
|
- WpSettings is no longer a singleton class and there is a
|
||
|
built-in component to preload an instance of it
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Feb 5 16:11:12 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.81
|
||
|
* Highlights:
|
||
|
- Lua scripts have been refactored to use the new event
|
||
|
dispatcher API, which allows them to be split into multiple
|
||
|
small fragments that react to events in a specified order.
|
||
|
This allows scripts to be more modular and easier to
|
||
|
maintain, as well as more predictable in terms of execution
|
||
|
order.
|
||
|
- The configuration system has been refactored to use a single
|
||
|
SPA-JSON file, like PipeWire does, with support for fragments
|
||
|
that can override options. This file is also now loaded using
|
||
|
PipeWire's configuration API, which effectively means that
|
||
|
the file is now loaded from the PipeWire configuration
|
||
|
directories, such as /etc/pipewire and
|
||
|
$XDG_CONFIG_HOME/pipewire.
|
||
|
- The configuration system now has the concept of profiles,
|
||
|
which are groups of components that can be loaded together,
|
||
|
with the ability to mark certain components as optional. This
|
||
|
allows having multiple configurations that can be loaded
|
||
|
using the same configuration file. Optional components also
|
||
|
allow loading the same profile gracefully on different
|
||
|
setups, where some components may not be available (ex,
|
||
|
loading of the session D-Bus plugin on a system-wide PipeWire
|
||
|
setup now does not fail).
|
||
|
- Many configuration options are now exposed in the sm-settings
|
||
|
metadata, which allows changing them at runtime. This can be
|
||
|
leveraged in the future to implement configuration tools that
|
||
|
can modify WirePlumber's behaviour dynamically, without
|
||
|
restarting.
|
||
|
- A new "filters" system has been implemented, which allows
|
||
|
specifying chains of "filter" nodes to be dynamically linked
|
||
|
in-between streams and devices. This is achieved with certain
|
||
|
properties and metadata that can be set on the filter nodes
|
||
|
themselves.
|
||
|
- The default linking policy now reads some more target.*
|
||
|
properties from nodes, which allows fine-tuning some aspects
|
||
|
of their linking behaviour, such as whether they are allowed
|
||
|
to be re-linked or whether an error should be sent to the
|
||
|
client if they cannot be linked.
|
||
|
- Some state files have been renamed and some have changed
|
||
|
format to use JSON for storing complex values, such as
|
||
|
arrays. This may cause some of the old state to be lost on
|
||
|
upgrade, as there is no transition path implemented.
|
||
|
- The libcamera and V4L2 monitors have a "device deduplication"
|
||
|
logic built-in, which means that for each physical camera
|
||
|
device, only one node will be created, either from libcamera
|
||
|
or V4L2, depending on which one is considered better for the
|
||
|
device. This is mainly to avoid having multiple nodes for the
|
||
|
same camera device, which can cause confusion when looking at
|
||
|
the list of available cameras in applications.
|
||
|
- Bump apiver to 0.5
|
||
|
- Rewrite split-config-file.py to work with the new config
|
||
|
subsystem
|
||
|
- Remove patch which isn't applying anymore and whose fix is
|
||
|
now handled by the split-config-file.py script:
|
||
|
* fix-bsc1219411.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Feb 5 06:46:58 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch to only enable bluetooth when audio support is enabled
|
||
|
by installing wireplumber-audio (bsc#1219411):
|
||
|
* fix-bsc1219411.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Dec 5 19:28:42 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.17:
|
||
|
* Fixes:
|
||
|
- Fix a reference counting issue in the object managers that
|
||
|
could cause crashes due to memory corruption.
|
||
|
- Fix an issue with filters linking to wrong targets, often
|
||
|
with two sets of links.
|
||
|
- Fix a crash in the endpoints policy that would show up when
|
||
|
log messages were enabled at level 3 or higher.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Sun Nov 26 11:02:03 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.16:
|
||
|
* Additions:
|
||
|
- Added a new "sm-objects" script that allows loading objects
|
||
|
on demand via metadata entries that describe the object to
|
||
|
load; this can be used to load pipewire modules, such as
|
||
|
filters or network sources/sinks, on demand
|
||
|
- Added a mechanism to override device profile priorities in
|
||
|
the configuration, mainly as a way to re-prioritize Bluetooth
|
||
|
codecs, but this also can be used for other devices
|
||
|
- Added a mechanism in the endpoints policy to allow connecting
|
||
|
filters between a certain endpoint's virtual sink and the
|
||
|
device sink; this is specifically intended to allow plugging
|
||
|
a filter-chain to act as equalizer on the Multimedia endpoint
|
||
|
- Added wp_core_get_own_bound_id() method in WpCore
|
||
|
* Changes:
|
||
|
- PipeWire 0.3.68 is now required
|
||
|
- policy-dsp now has the ability to hide hardware nodes behind
|
||
|
the DSP sink to prevent hardware misuse or damage
|
||
|
- JSON parsing in Lua now allows keys inside objects to be
|
||
|
without quotes
|
||
|
- Added optional argument in the Lua JSON parse() method to
|
||
|
limit recursions, making it possible to partially parse a
|
||
|
JSON object
|
||
|
- It is now possible to pass nil in Lua object constructors
|
||
|
that expect an optional properties object; previously,
|
||
|
omitting the argument was the only way to skip the properties
|
||
|
- The endpoints policy now marks the endpoint nodes as
|
||
|
"passive" instead of marking their links, adjusting for the
|
||
|
behavior change in PipeWire 0.3.68
|
||
|
- Removed the "passive" property from si-standard-link, since
|
||
|
only nodes are marked as passive now
|
||
|
* Fixes:
|
||
|
- Fixed the wpctl clear-default command to completely clear all
|
||
|
the default nodes state instead of only the last set default
|
||
|
- Reduced the amount of globals that initially match the
|
||
|
interest in the object manager
|
||
|
- Used an idle callback instead of pw_core_sync() in the object
|
||
|
manager to expose tmp globals
|
||
|
- Remove patches included upstream:
|
||
|
* 0001-object-manager-reduce-the-amount-of-globals-that-initially.patch
|
||
|
* 0002-object-manager-use-an-idle-callback-to-expose-tmp-globals.patch
|
||
|
* 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch
|
||
|
- Update split-config-file.py
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Oct 31 08:30:21 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream that fixes too many matches for property
|
||
|
interest:
|
||
|
* 0001-object-manager-reduce-the-amount-of-globals-that-initially.patch
|
||
|
- Add patch from upstream that fixes an odd failure of a test after
|
||
|
applying the previous patch:
|
||
|
* 0002-object-manager-use-an-idle-callback-to-expose-tmp-globals.patch
|
||
|
- Add patch from upstream that adds ability to hide parent nodes,
|
||
|
which is useful to prevent hardware misuse or damage by poorly
|
||
|
behaved/configured clients:
|
||
|
* 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Oct 13 07:17:56 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.15:
|
||
|
* Additions:
|
||
|
- A new "DSP policy" module has been added; its purpose is to
|
||
|
automatically load a filter-chain when a certain hardware
|
||
|
device is present, so that audio always goes through this
|
||
|
software DSP before reaching the device. This is mainly to
|
||
|
support Apple M1/M2 devices, which require a software DSP
|
||
|
to be always present
|
||
|
- WpImplModule now supports loading module arguments directly
|
||
|
from a SPA-JSON config file; this is mainly to support DSP
|
||
|
configuration for Apple M1/M2 and will likely be reworked
|
||
|
for 0.5
|
||
|
- Added support for automatically combining Bluetooth LE Audio
|
||
|
device sets (e.g. pairs of earbuds) (!500)
|
||
|
- Added command line options in wpctl to display device/node
|
||
|
names and nicknames instead of descriptions
|
||
|
- Added zsh completions file for wpctl
|
||
|
- The device profile selection policy now respects the
|
||
|
device.profile property if it is set on the device; this is
|
||
|
useful to hand-pick a profile based on static configuration
|
||
|
rules (alsa_monitor.rules)
|
||
|
* Changes/Fixes:
|
||
|
- Linking policy now sends an error to the client before
|
||
|
destroying the node, if it determines that the node cannot be
|
||
|
linked to any target; this fixes error reporting on the
|
||
|
client side
|
||
|
- Fixed a crash in suspend-node that could happen when
|
||
|
destroying virtual sinks that were loaded from another
|
||
|
process such as pw-loopback
|
||
|
- Virtual machine default period size has been bumped to 1024
|
||
|
- Updated bluez5 default configuration, using bluez5.roles
|
||
|
instead of bluez5.headset-roles now (!498)
|
||
|
- Disabled Bluetooth autoconnect by default (!514)
|
||
|
- Removed RestrictNamespaces option from the systemd services
|
||
|
in order to allow libcamera to load sandboxed IPA modules
|
||
|
- Fixed a JSON encoding bug with empty strings
|
||
|
- Lua code can now parse strings without quotes from SPA-JSON
|
||
|
- Added some missing \since annotations and made them show up
|
||
|
in the generated gobject-introspection file, to help bindings
|
||
|
generators
|
||
|
- Add zsh-completion subpackage
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri May 19 17:26:12 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Require wireplumber-audio if pipewire-jack is installed.
|
||
|
- Recommend pipewire-jack in wireplumber-audio.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Mar 10 23:20:12 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.14:
|
||
|
* Additions
|
||
|
- Add support for managing Bluetooth-MIDI, complementing the
|
||
|
parts that were merged in PipeWire recently.
|
||
|
- Add a default volume configuration option for streams whose
|
||
|
volume has never been saved before; that allows starting new
|
||
|
streams at a lower volume than 100% by default, if desired.
|
||
|
- Add support for managing link errors and propagating them to
|
||
|
the client(s) involved. This allows better error handling on
|
||
|
the application side in case a format cannot be negotiated -
|
||
|
useful in video streams.
|
||
|
- snd_aloop devices are now described as being "Loopback"
|
||
|
devices.
|
||
|
- ALSA nodes in the pro audio profile now get increased graph
|
||
|
priority, so that they are more likely to become the driver
|
||
|
in the graph.
|
||
|
- Add support for disabling libcamera nodes & devices with
|
||
|
node.disabled and device.disabled, like it works for ALSA
|
||
|
and V4L2.
|
||
|
- Drop reduce-meson-required-version.patch: openSUSE Leap 15.3 is
|
||
|
no longer supported.
|
||
|
- Drop patches already included upstream:
|
||
|
* 0001-alsa-monitor-handle-snd_aloop-devices-better.patch
|
||
|
* 0001-spa-json-make-sure-we-only-add-encoded-string-data.patch
|
||
|
* 0001-m-lua-scripting-ignore-string-integer-table-keys-when-constructing-a-JSON-Array-Object.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Jan 13 10:51:07 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Backport the workaround from SLE/Leap for the bug in systemd
|
||
|
scripts that didn't set the default enable state for the
|
||
|
wireplumber user service when installing wireplumber. The bug
|
||
|
(boo#1200485) was fixed but that's only for new installations
|
||
|
while this workaround will fix old installations (boo#1202008).
|
||
|
This is used to automatically fix installations of
|
||
|
SLE 15 SP4/Leap 15.4 that were not updated during it's lifetime
|
||
|
and upgrade directly to SP5/15.5 .
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Jan 11 12:41:28 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add upstream patches to fix glfo#pipewire/pipewire#2214 and to
|
||
|
handle better non-null terminated strings:
|
||
|
* 0001-alsa-monitor-handle-snd_aloop-devices-better.patch
|
||
|
* 0001-spa-json-make-sure-we-only-add-encoded-string-data.patch
|
||
|
* 0001-m-lua-scripting-ignore-string-integer-table-keys-when-constructing-a-JSON-Array-Object.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Dec 13 14:43:46 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.13:
|
||
|
* Additions
|
||
|
- Add bluetooth SCO (HSP/HFP) hardware offload support,
|
||
|
together with an example script that enables this
|
||
|
functionality on the PinePhone.
|
||
|
- Encoded audio (mp3, aac, etc...) can now be passed through,
|
||
|
if this mode is supported by both the application and the
|
||
|
device.
|
||
|
- The v4l2 monitor now also respects the ``node.disabled`` and
|
||
|
``device.disabled`` properties inside rules.
|
||
|
- Add "Firefox Developer Edition" to the list of applications
|
||
|
that are allowed to trigger a bluetooth profile auto-switch.
|
||
|
- Add support in the portal access script to allow newly
|
||
|
plugged cameras to be immediately visible to the portal
|
||
|
applications.
|
||
|
* Fixes
|
||
|
- Work around an issue that would prevent streams from properly
|
||
|
linking when using effects software like EasyEffects and
|
||
|
JamesDSP.
|
||
|
- Fix destroying pavucontrol-qt monitor streams after the node
|
||
|
that was being monitored is destroyed.
|
||
|
- Fix a crash in the alsa.lua monitor that could happen when a
|
||
|
disabled device was removed and re-added.
|
||
|
- Fix a rare crash in the metadata object.
|
||
|
- Fix a bug where a restored node target would override the
|
||
|
node target set by the application on the node's properties.
|
||
|
* Packaging
|
||
|
- Add build options to compile wireplumber's library, daemon
|
||
|
and tools independently.
|
||
|
- Add a build option to disable unit tests that require the
|
||
|
dbus daemon.
|
||
|
- Stop using fakesink/fakesrc in the unit tests to be able to
|
||
|
run them on default pipewire installations. Compiling the spa
|
||
|
``test`` plugin is no longer necessary.
|
||
|
- Add pkg-config and header information in the gir file.
|
||
|
- Rebase reduce-meson-required-version.patch
|
||
|
- Drop patches already upstream:
|
||
|
* 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch
|
||
|
* 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Nov 15 08:21:15 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to work around a problem when a link is
|
||
|
not activated:
|
||
|
* 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch
|
||
|
|
||
|
- Add patch from upstream to fix handling null devices which result
|
||
|
in lua exceptions:
|
||
|
* 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Oct 4 13:01:17 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.12:
|
||
|
* Changes
|
||
|
- WirePlumber now maintains a stack of previously configured
|
||
|
default nodes and prioritises to one of those when the
|
||
|
actively configured default node becomes unavailable, before
|
||
|
calculating the next default using priorities.
|
||
|
- Updated bluetooth scripts to support the name changes that
|
||
|
happened in PipeWire 0.3.59 and also support the experimental
|
||
|
Bluetooth LE functionality.
|
||
|
- Changed the naming of bluetooth nodes to not include the
|
||
|
profile in it; this allows maintaining existing links when
|
||
|
switching between a2dp and hfp.
|
||
|
- The default volume for new outputs has changed to be 40% in
|
||
|
cubic scale (= -24 dB) instead of linear
|
||
|
(= 74% cubic / -8 dB) that it was before.
|
||
|
- The default volume for new inputs has changed to be 100%
|
||
|
rather than following the default for outputs.
|
||
|
- Added ``--version`` flag on the wireplumber executable.
|
||
|
- Added ``--limit`` flag on ``wpctl set-volume`` to limit the
|
||
|
higher volume that can be set (useful when incrementing
|
||
|
volume with a keyboard shortcut that calls into wpctl).
|
||
|
- The properties of the alsa midi node can now be set in the
|
||
|
config files.
|
||
|
* Fixes
|
||
|
- Fixed a crash in lua code that would happen when running in a
|
||
|
VM.
|
||
|
- Fixed a crash that would happen when re-connecting to D-Bus.
|
||
|
- Fixed a mistake in the code that would cause device
|
||
|
reservation not to work properly.
|
||
|
- Fixed ``wpctl clear-default`` to accept 0 as a valid setting ID.
|
||
|
- Fixed the logic of choosing the best profile after the active
|
||
|
profile of a device becomes unavailable
|
||
|
- Fixed a regression that would cause PulseAudio "corked"
|
||
|
streams to not properly link and cause busy loops.
|
||
|
- Fixed an issue parsing spa-json objects that have a nested
|
||
|
object as the value of their last property.
|
||
|
- Rebase reduce-meson-required-version.patch
|
||
|
- Drop patches already upstream:
|
||
|
* fix-alsa.patch
|
||
|
* 0001-dbus-fix-crash-when-trying-to-reconnect.patch
|
||
|
* 398.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Aug 5 21:07:13 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||
|
|
||
|
- Add 398.patch -- policy-node: fix potential rescan loop to
|
||
|
prevent high cpu usage (glfo#pipewire/wireplumber#152); patch
|
||
|
taken from upstream merge request.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Jul 14 08:35:10 UTC 2022 - Fabian Vogt <fvogt@suse.com>
|
||
|
|
||
|
- Add patch to fix crash on session end:
|
||
|
* 0001-dbus-fix-crash-when-trying-to-reconnect.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Jul 8 11:02:44 UTC 2022 - Fabian Vogt <fvogt@suse.com>
|
||
|
|
||
|
- Add patch to fix alsa device creation:
|
||
|
* fix-alsa.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Jul 5 15:13:07 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.11:
|
||
|
* Changes
|
||
|
- The libcamera monitor is now enabled by default, so if the
|
||
|
libcamera source is enabled in PipeWire, cameras discovered
|
||
|
with the libcamera API will be available out of the box.
|
||
|
This is safe to use alongside V4L2, as long as the user does
|
||
|
not try to use the same camera over different APIs at the
|
||
|
same time.
|
||
|
- Libcamera and V4L2 nodes now get assigned a
|
||
|
`priority.session` number; V4L2 nodes get a higher priority
|
||
|
by default, so the default camera is going to be /dev/video0
|
||
|
over V4L2, unless changed with `wpctl`.
|
||
|
- Libcamera nodes now get a user-friendly description based on
|
||
|
their location (e.g. built-in front camera). Additionally,
|
||
|
V4L2 nodes now have a "(V4L2)" string appended to their
|
||
|
description in order to be distinguished from the libcamera
|
||
|
ones.
|
||
|
- 50-alsa-config.lua now has a section where you can set
|
||
|
properties that will only be applied if WirePlumber is
|
||
|
running in a virtual machine. By default it now sets
|
||
|
`api.alsa.period-size = 256` and `api.alsa.headroom = 8192`.
|
||
|
* Fixes
|
||
|
- The "enabled" properties in the config files are now "true"
|
||
|
by default when they are not defined. This fixes backwards
|
||
|
compatibility with older configuration files.
|
||
|
- Fixed device name deduplication in the alsa monitor, when
|
||
|
device reservation is enabled.
|
||
|
- Reverted a previous fix that makes it possible again to get
|
||
|
a glitch when changing default nodes while also changing the
|
||
|
profile (GNOME Settings).
|
||
|
The fix was causing other problems and the issue will be
|
||
|
addressed differently in the future.
|
||
|
- Fixed an issue that would prevent applications from being
|
||
|
moved to a recently plugged USB headset.
|
||
|
- Fixed an issue where wireplumber would automatically link
|
||
|
control ports, if they are enabled, to audio ports,
|
||
|
effectively breaking audio.
|
||
|
- The policy now always considers the profile of a device that
|
||
|
was previously selected by the user, if it is available, when
|
||
|
deciding which profile to activate.
|
||
|
- A few documentation fixes.
|
||
|
* Tools
|
||
|
- wpctl now has a `get-volume` command for easier scripting of
|
||
|
volume controls.
|
||
|
- wpctl now supports relative steps and percentage-based steps
|
||
|
in `set-volume`.
|
||
|
- wpctl now also prints link states.
|
||
|
- wpctl can now `inspect` metadata objects without showing
|
||
|
critical warnings.
|
||
|
* Library
|
||
|
- A new WpDBus API was added to maintain a single D-Bus
|
||
|
connection among modules that need one.
|
||
|
- WpCore now has a method to get the virtual machine type, if
|
||
|
WirePlumber is running in a virtual machine.
|
||
|
- WpSpaDevice now has a
|
||
|
`wp_spa_device_new_managed_object_iterator()` method.
|
||
|
- WpSpaJson now has a `wp_spa_json_to_string()` method that
|
||
|
returns a newly allocated string with the correct size of the string token.
|
||
|
- WpLink now has a `WP_LINK_FEATURE_ESTABLISHED` that allows
|
||
|
the caller to wait until the link is in the PAUSED or ACTIVE
|
||
|
state. This transparently now enables watching links for
|
||
|
negotiation or allocation errors and failing gracefully
|
||
|
instead of keeping dead link objects around.
|
||
|
* Misc
|
||
|
- The Lua subproject was bumped to version 5.4.4.
|
||
|
- Rebase reduce-meson-required-version.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue May 10 14:39:24 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.10:
|
||
|
* Changes
|
||
|
- Add i18n support to be able to translate some user-visible
|
||
|
strings.
|
||
|
- wpctl now supports using
|
||
|
@DEFAULT_{AUDIO_,VIDEO_,}{SINK,SOURCE}@ as ID, almost like
|
||
|
pactl. Additionally, it supports a --pid flag for changing
|
||
|
volume and mute state by specifying a process ID, applying
|
||
|
the state to all nodes of a specific client process.
|
||
|
- The Lua engine now supports loading Lua libraries. These can
|
||
|
be placed either in the standard Lua libraries path or in
|
||
|
the "lib" subdirectory of WirePlumber's "scripts" directory
|
||
|
and can be loaded with ``require()``
|
||
|
- The Lua engine's sandbox has been relaxed to allow more
|
||
|
functionality in scripts (the debug & coroutine libraries
|
||
|
and some other previously disabled functions)
|
||
|
- Lua scripts are now wrapped in special WpPlugin objects,
|
||
|
allowing them to load asynchronously and declare when they
|
||
|
have finished their loading
|
||
|
- Add a new script that provides the same functionality as
|
||
|
module-fallback-sink from PipeWire, but also takes endpoints
|
||
|
into account and can be customised more easily. Disabled by
|
||
|
default for now to avoid conflicts.
|
||
|
* Policy
|
||
|
- Add an optional experimental feature that allows filter-like
|
||
|
streams (like echo-cancel or filter-node) to match the
|
||
|
channel layout of the device they connect to, on both sides
|
||
|
of the filter; that means that if, for instance, a sink has
|
||
|
6 channels and the echo-cancel's source stream is linked to
|
||
|
that sink, then the virtual sink presented by echo-cancel
|
||
|
will also be configured to the same 6 channels layout. This
|
||
|
feature needs to be explicitly enabled in the configuration
|
||
|
("filter.forward-format")
|
||
|
- filter-like streams (filter-chain and such) no longer follow
|
||
|
the default sink when it changes, like in PulseAudio.
|
||
|
* Fixes
|
||
|
- The suspend-node script now also suspends nodes that go into
|
||
|
the "error" state, allowing them to recover from errors
|
||
|
without having to restart WirePlumber.
|
||
|
- Fix a crash in mixer-api when setting volume with
|
||
|
channelVolumes.
|
||
|
- logind module now watches only for user state changes,
|
||
|
avoiding errors when machined is not running.
|
||
|
* Misc
|
||
|
- The configuration files now have comments mentioning which
|
||
|
options need to be disabled in order to run WirePlumber
|
||
|
without D-Bus.
|
||
|
- The configuration files now have properties to
|
||
|
enable/disable the monitors and other sections, so that it
|
||
|
is possible to disable them by dropping in a file that just
|
||
|
sets the relevant property to false.
|
||
|
- setlocale() is now called directly instead of relying on
|
||
|
pw_init().
|
||
|
- WpSpaJson received some fixes and is now used internally to
|
||
|
parse configuration files.
|
||
|
- More applications were added to the bluetooth auto-switch
|
||
|
applications whitelist.
|
||
|
- Add a new wireplumber-lang package.
|
||
|
- Drop patches already upstream:
|
||
|
* 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
|
||
|
* 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
|
||
|
- Rebase reduce-meson-required-version.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Mar 30 16:12:03 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix no sound on reconnection of
|
||
|
bluetooth device (glfo#pipewire/wireplumber#234):
|
||
|
* 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 29 12:04:24 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to set locale in apps now that pw_init
|
||
|
doesn't call it by itself anymore in pipewire 0.3.49:
|
||
|
* 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Mar 25 07:47:09 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Make the wireplumber-audio noarch as it just contains a lua
|
||
|
config file.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 22 18:36:13 UTC 2022 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.4.9:
|
||
|
* Fixes:
|
||
|
- restore-stream no longer crashes if properties for it are not
|
||
|
present in the config (#190)
|
||
|
- spa-json no longer crashes on non-x86 architectures
|
||
|
- Fixed a potential crash in the bluetooth auto-switch module
|
||
|
(#193)
|
||
|
- Fixed a race condition that would cause Zoom desktop audio
|
||
|
sharing to fail (#197)
|
||
|
- Surround sound in some games is now exposed properly
|
||
|
(pipewire#876)
|
||
|
- Fixed a race condition that would cause the default source &
|
||
|
sink to not be set at startup
|
||
|
- policy-node now supports the 'target.object' key on streams
|
||
|
and metadata
|
||
|
- Multiple fixes in policy-node that make the logic in some
|
||
|
cases behave more like PulseAudio (regarding nodes with the
|
||
|
dont-reconnect property and regarding following the default
|
||
|
source/sink)
|
||
|
- Fixed a bug with parsing unquoted strings in spa-json
|
||
|
* Misc:
|
||
|
- The policy now supports configuring "persistent" device
|
||
|
profiles. If a device is manually set to one of these
|
||
|
profiles, then it will not be auto-switched to another
|
||
|
profile automatically under any circumstances (#138, #204)
|
||
|
- The device-activation module was re-written in lua
|
||
|
- Brave, Edge, Vivaldi and Telegram were added in the bluetooth
|
||
|
auto-switch applications list
|
||
|
- ALSA nodes now use the PCM name to populate node.nick, which
|
||
|
is useful at least on HDA cards using UCM, where all outputs
|
||
|
(analog, hdmi, etc) are exposesd as nodes on a single profile
|
||
|
- An icon name is now set on the properties of bluetooth devices
|
||
|
- Drop patches already upstream:
|
||
|
* 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch
|
||
|
* 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch
|
||
|
* 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch
|
||
|
* 0003-si-audio-adapter-relax-format-parsing.patch
|
||
|
- Update split-config-file.py script
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Mar 10 12:14:13 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Add patch from upstream to fix a crash on tty switch
|
||
|
(glfo#pipewire/wireplumber#193):
|
||
|
* 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch
|
||
|
- Add patch from upstream to fix issues with PulseAudio support with
|
||
|
PipeWire 0.3.48+ (glfo#pipewire/pipewire#2189):
|
||
|
* 0003-si-audio-adapter-relax-format-parsing.patch
|
||
|
- Some spec clean-up.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Feb 11 08:09:05 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix va_list APIs for ppc64le and
|
||
|
aarch64, where va_list is not a pointer (boo#1195818):
|
||
|
* 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch
|
||
|
- Add patch from upstream to fix a crash if config.properties is
|
||
|
nil:
|
||
|
* 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Feb 7 17:31:11 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.8:
|
||
|
* Highlights:
|
||
|
- Added bluetooth profile auto-switching support. Bluetooth
|
||
|
headsets will now automatically switch to the HSP/HFP profile
|
||
|
when making a call and go back to the A2DP profile after the
|
||
|
call ends (#90)
|
||
|
- Added an option (enabled by default) to auto-switch to
|
||
|
echo-cancel virtual device nodes when the echo-cancel module
|
||
|
is loaded in pipewire-pulse, if there is no other configured
|
||
|
default node
|
||
|
* Fixes:
|
||
|
- Fixed a regression that prevented nodes from being selected
|
||
|
as default when using the pro-audio profile (#163)
|
||
|
- Fixed a regression that caused encoded audio streams to stall
|
||
|
(#178)
|
||
|
- Fixed restoring bluetooth device profiles
|
||
|
* Library:
|
||
|
- A new WpSpaJson API was added as a front-end to spa-json.
|
||
|
This is also exposed to Lua, so that Lua scripts can natively
|
||
|
parse and write data in the spa-json format
|
||
|
* Misc:
|
||
|
- wpctl can now list the configured default sources and sinks
|
||
|
and has a new command that allows clearing those configured
|
||
|
defaults, so that wireplumber goes back to choosing the
|
||
|
default nodes based on node priorities
|
||
|
- The restore-stream script now has its own configuration file
|
||
|
in main.lua.d/40-stream-defaults.lua and has independent
|
||
|
options for restoring properties and target nodes
|
||
|
- The restore-stream script now supports rule-based
|
||
|
configuration to disable restoring volume properties and/or
|
||
|
target nodes for specific streams, useful for applications
|
||
|
that misbehave when we restore those (see #169)
|
||
|
- policy-endpoint now assigns the "Default" role to any stream
|
||
|
that does not have a role, so that it can be linked to a
|
||
|
pre-configured endpoint
|
||
|
- The route-settings-api module was dropped in favor of dealing
|
||
|
with json natively in Lua, now that the API exists
|
||
|
- Drop patch which is already upstream:
|
||
|
* 0001-default-nodes-handle-nodes-without-Routes.patch
|
||
|
- Update split-config-file.py script
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Jan 31 17:45:11 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
|
||
|
|
||
|
- Use the default lua instead of hardcoding 5.3
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Jan 25 15:08:59 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.7:
|
||
|
* Fixed a regression in 0.4.6 that caused the selection of the
|
||
|
default audio sources and sinks to be delayed until some event,
|
||
|
which effectively caused losing audio output in many
|
||
|
circumstances (glfo#pipewire/wireplumber#148,
|
||
|
glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151,
|
||
|
glfo#pipewire/wireplumber#153)
|
||
|
* Fixed a regression in 0.4.6 that caused the echo-cancellation
|
||
|
pipewire module (and possibly others) to not work
|
||
|
* A default sink or source is now not selected if there is no
|
||
|
available route for it (glfo#pipewire/wireplumber#145)
|
||
|
* Fixed an issue where some clients would wait for a bit while
|
||
|
seeking (glfo#pipewire/wireplumber#146)
|
||
|
* Fixed audio capture in the endpoints-based policy
|
||
|
* Fixed an issue that would cause certain lua scripts to error
|
||
|
out with older configuration files
|
||
|
(glfo#pipewire/wireplumber#158)
|
||
|
- Drop patches already included upstream:
|
||
|
* 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
|
||
|
* 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
|
||
|
- Add patch from upstream to fix selection of Pro Audio nodes
|
||
|
as default nodes:
|
||
|
* 0001-default-nodes-handle-nodes-without-Routes.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Jan 10 09:50:15 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Reformat .changes file to limit lines to 67 chars when possible.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Sat Jan 8 16:12:57 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
|
||
|
|
||
|
- Update to version 0.4.6:
|
||
|
* Fix a lot of race condition bugs that would cause strange
|
||
|
crashes or many log messages being printed when streaming
|
||
|
clients would connect and disconnect very fast.
|
||
|
* Improve the logic for selecting a default target device.
|
||
|
* Fix switching to headphones when the wired headphones are
|
||
|
plugged in.
|
||
|
* Fix an issue where "udevadm trigger" would break wireplumber.
|
||
|
* Fix an issue where switching profiles of a device could kill
|
||
|
client nodes.
|
||
|
* Fix briefly switching output to a secondary device when
|
||
|
switching device profiles (#85)
|
||
|
* Fix "wpctl status" showing default device selections when
|
||
|
dealing with module-loopback virtual sinks and sources.
|
||
|
* WirePlumber now ignores hidden files from the config directory.
|
||
|
* Fix an interoperability issue with jackdbus.
|
||
|
* Fix an issue where pulseaudio tcp clients would not have
|
||
|
permissions to connect to PipeWire.
|
||
|
* Fix a crash in the journald logger with NULL debug messages.
|
||
|
* Enable real-time priority for the bluetooth nodes to run in RT.
|
||
|
* Make the default stream volume configurable.
|
||
|
* Scripts are now also looked up in
|
||
|
$XDG_CONFIG_HOME/wireplumber/scripts
|
||
|
* Update documentation on configuring WirePlumber and fixed some
|
||
|
more documentation issues.
|
||
|
* Add support for using strings as log level selectors in
|
||
|
WIREPLUMBER_DEBUG.
|
||
|
- Drop patches merged upstream:
|
||
|
* 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch
|
||
|
* 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch
|
||
|
- Add patch from upstream to fix a pulse client hanging issue:
|
||
|
* 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
|
||
|
- Add patch from upstream to fix an issue with
|
||
|
libpipewire-module-echo-cancel:
|
||
|
* 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Dec 15 13:48:27 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Remove many build dependencies which aren't really needed
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Sat Dec 11 16:54:56 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
|
||
|
|
||
|
- Use %autosetup, apply patches unconditionally
|
||
|
- Hard depend on wireplumber-audio if pipewire-pulseaudio is installed
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Dec 9 12:08:45 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Supplements: (pipewire-pulseaudio and wireplumber) so everyone
|
||
|
having those two packages already installed automatically get
|
||
|
wireplumber-audio pulled in.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Dec 9 10:08:43 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
|
||
|
|
||
|
- Quiet setup of sources, no need to see the package untared.
|
||
|
- Disable tests for ppc64 for now like we do for i586.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Dec 3 18:12:42 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Split the configuration to separate the audio initialization
|
||
|
to a new wireplumber-audio subpackage. This way, if that package
|
||
|
is not installed, pipewire doesn't open the audio devices, thus
|
||
|
not entering a race-condition with pulseaudio but still allowing
|
||
|
to manage v4l2 devices and sharing the screen in wayland, for
|
||
|
example (boo#1188516).
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Nov 24 16:09:52 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patches from upstream to fix wireplumber breaking when
|
||
|
udevadm trigger is run:
|
||
|
* 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch
|
||
|
- And another patch to fix an issue where there is only 1 sink
|
||
|
available and the card profile is toggeled between pro and
|
||
|
stereo:
|
||
|
* 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Nov 11 13:25:33 UTC 2021 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.4.5:
|
||
|
* Fixes:
|
||
|
- Fixed a crash that could happen after a node linking error
|
||
|
(glfo#pipewire/wireplumber#76)
|
||
|
- Fixed a bug that would cause capture streams to link to
|
||
|
monitor ports of loopback nodes instead of linking to their
|
||
|
capture ports
|
||
|
- Fixed a needless wait that would happen on applications using
|
||
|
the pipewire ALSA plugin (glfo#pipewire/wireplumber#92)
|
||
|
- Fixed an issue that would cause endless rescan loops in
|
||
|
policy-node and could potentially also cause other strange
|
||
|
behaviors in case pavucontrol or another monitoring utility
|
||
|
was open while the policy was rescanning
|
||
|
(glfo#pipewire/wireplumber#77)
|
||
|
- Fixed the endpoints-based policy that broke in recent
|
||
|
versions and improved its codebase to share more code and be
|
||
|
more in-line with policy-node
|
||
|
- The semicolon character is now escaped properly in state
|
||
|
files (glfo#pipewire/wireplumber#82)
|
||
|
- When a player requests encoded audio passthrough, the policy
|
||
|
now prefers linking to a device that supports that instead of
|
||
|
trying to link to the default device and potentially failing
|
||
|
(glfo#pipewire/wireplumber#75)
|
||
|
- Miscellaneous robustness fixes in policy-node
|
||
|
* API:
|
||
|
- Added WpFactory, a binding for pw_factory proxies. This
|
||
|
allows object managers to query factories that are loaded in
|
||
|
the pipewire daemon
|
||
|
- The file-monitor-api plugin can now watch files for changes
|
||
|
in addition to directories
|
||
|
|
||
|
- Remove patches already included by upstream:
|
||
|
* 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch
|
||
|
* 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch
|
||
|
* 0001-add-missing-break-in-best-route-selection-logic.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Nov 3 08:34:01 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix a problem saving the default
|
||
|
route:
|
||
|
* 0001-add-missing-break-in-best-route-selection-logic.patch
|
||
|
|
||
|
- Add patch to let wireplumber build in Leap 15.3/SLE-15-SP3
|
||
|
which only have meson 0.54:
|
||
|
* reduce-meson-required-version.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Oct 21 10:15:34 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add %post/%pre/... sections to enable the user service
|
||
|
automatically
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Oct 19 10:59:25 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix selection of capture ports instead
|
||
|
of monitor ports:
|
||
|
* 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Oct 19 07:25:22 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add patch from upstream to fix a crash when there's a link error
|
||
|
(glfo#pipewire/wireplumber#76):
|
||
|
* 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Oct 15 15:55:46 UTC 2021 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.4.4:
|
||
|
* Highlights:
|
||
|
- Implemented linking nodes in passthrough mode, which enables
|
||
|
encoded iec958 / dsd audio passthrough
|
||
|
- Streams are now sent an error if it was not possible to link
|
||
|
them to a target (#63)
|
||
|
- When linking nodes where at least one of them has an
|
||
|
unpositioned channel layout, the other one is not
|
||
|
reconfigured to match the channel layout; it is instead
|
||
|
linked with a best effort port matching logic
|
||
|
- Output route switches automatically to the latest one that
|
||
|
has become available (#69)
|
||
|
- Policy now respects the 'node.exclusive' and 'node.passive'
|
||
|
properties
|
||
|
- Many other minor policy fixes for a smoother desktop usage
|
||
|
experience
|
||
|
* API:
|
||
|
- Fixed an issue with the LocalModule() constructor not
|
||
|
accepting nil as well as the properties table properly
|
||
|
- Added WpClient.send_error(), WpSpaPod.fixate() and
|
||
|
- WpSpaPod.filter() (both in C and Lua)
|
||
|
* Misc:
|
||
|
- Bumped meson version requirement to 0.56 to be able to use
|
||
|
meson.project_{source,build}_root() and ease integration with
|
||
|
pipewire's build system as a subproject
|
||
|
- wireplumber.service is now an alias to
|
||
|
pipewire-session-manager.service
|
||
|
- Loading the logind module no longer fails if it was not found
|
||
|
on the system; there is only a message printed in the output
|
||
|
- The logind module can now be compiled with elogind (#71)
|
||
|
- Improvements in wp-uninstalled.sh, mostly to ease its
|
||
|
integration with pipewire's build system when wireplumber is
|
||
|
build as a subproject
|
||
|
- The format of audio nodes is now selected using the same
|
||
|
algorithm as in media-session
|
||
|
- Fixed a nasty segfault that appeared in 0.4.3 due to a typo
|
||
|
(#72)
|
||
|
- Fixed a re-entrancy issue in the wplua runtime (#73)
|
||
|
|
||
|
- Update to version 0.4.3:
|
||
|
* Fixes:
|
||
|
- Implemented logind integration to start the bluez monitor
|
||
|
only on the WirePlumber instance that is running on the
|
||
|
active seat; this fixes a bunch of startup warnings and the
|
||
|
disappearance of HSP/HFP nodes after login (#54)
|
||
|
- WirePlumber is now launched with GIO_USE_VFS=local to avoid
|
||
|
strange D-Bus interference when the user session is
|
||
|
restarted, which previously resulted in WirePlumber being
|
||
|
terminated with SIGTERM and never recovering (#48)
|
||
|
- WirePlumber now survives a restart of the D-Bus service,
|
||
|
reconnecting to the bus and reclaiming the bus services that
|
||
|
it needs (#55)
|
||
|
- Implemented route-settings metadata, which fixes storing
|
||
|
volume for the "System Sounds" in GNOME (#51)
|
||
|
- Monitor sources can now be selected as the default source
|
||
|
(#60)
|
||
|
- Refactored some policy logic to allow linking to monitors;
|
||
|
the policy now also respects "stream.capture.sink" property
|
||
|
of streams which declares that the stream wants to be linked
|
||
|
to a monitor (#66)
|
||
|
- Policy now cleans up 'target.node' metadata so that streams
|
||
|
get to follow the default source/sink again after the default
|
||
|
was changed to match the stream's currently configured target
|
||
|
(#65)
|
||
|
- Fixed configuring virtual sources (#57)
|
||
|
- Device monitors now do not crash if a SPA plugin is missing;
|
||
|
instead, they print a warning to help users identify what
|
||
|
they need to install (!214)
|
||
|
- Fixed certain "proxy activation failed" warnings (#44)
|
||
|
- iec958 codec configuration is now saved and restored properly
|
||
|
(!228)
|
||
|
- Fixed some logging issues with the latest version of pipewire
|
||
|
(!227, !232)
|
||
|
- Policy now respects the "node.link-group" property, which
|
||
|
fixes issues with filter-chain and other virtual sources &
|
||
|
sinks (#47)
|
||
|
- Access policy now grants full permissions to flatpak
|
||
|
"Manager" apps (#59)
|
||
|
* Policy:
|
||
|
- Added support for 'no-dsp' mode, which allows streaming audio
|
||
|
using the format of the device instead of the standard float
|
||
|
32-bit planar format (!225)
|
||
|
* Library:
|
||
|
- WpImplMetadata is now implemented using pw_impl_metadata
|
||
|
instead of using its own implementation (#52)
|
||
|
- Added support for custom object property IDs in WpSpaPod
|
||
|
(#53)
|
||
|
* Misc:
|
||
|
- Added a script to load the libcamera monitor (!231)
|
||
|
- Added option to disable building unit tests (!209)
|
||
|
- WirePlumber will now fail to start with a warning if
|
||
|
pipewire-media-session is also running in the system (#56)
|
||
|
- The bluez monitor configuration was updated to match the
|
||
|
latest one in pipewire-media-session (!224)
|
||
|
|
||
|
- Update to version 0.4.2:
|
||
|
* Highlights:
|
||
|
- Requires PipeWire 0.3.32 or later at runtime
|
||
|
- Configuration files are now installed in
|
||
|
$PREFIX/share/wireplumber, along with scripts, following the
|
||
|
paradigm of PipeWire
|
||
|
- State files are now stored in $XDG_STATE_HOME instead of
|
||
|
$XDG_CONFIG_HOME
|
||
|
- Added new file-monitor-api module, which allows Lua scripts
|
||
|
to watch the filesystem for changes, using inotify
|
||
|
- Added monitor for MIDI devices
|
||
|
- Added a system-lua-version meson option that allows
|
||
|
distributors to choose which Lua version to build against
|
||
|
(auto, 5.3 or 5.4)
|
||
|
- wpipc has been removed and split out to a separate project,
|
||
|
https://git.automotivelinux.org/src/pipewire-ic-ipc/
|
||
|
* Library:
|
||
|
- A new WpImplModule class has been added; this allows loading
|
||
|
a PipeWire module in the WirePlumber process space, keeping a
|
||
|
handle that can be used to unload that module later. This is
|
||
|
useful for loading filters, network sources/sinks, etc...
|
||
|
- State files can now store keys that contain certain
|
||
|
GKeyFile-reserved characters, such as [, ], = and space; this
|
||
|
fixes storing stream volume state for streams using
|
||
|
PipeWire's ALSA compatibility PCM plugin
|
||
|
- WpProperties now uses a boxed WpPropertiesItem type in its
|
||
|
iterators so that these iterators can be used with g-i
|
||
|
bindings
|
||
|
- Added API to lookup configuration and script files from
|
||
|
multiple places in the filesystem
|
||
|
* Lua:
|
||
|
- A LocalModule API has been added to reflect the functionality
|
||
|
offered by WpImplModule in C
|
||
|
- The Node API now has a complete set of methods to reflect the
|
||
|
methods of WpNode
|
||
|
- Added Port.get_direction()
|
||
|
- Added not-equals to the possible constraint verbs
|
||
|
- Debug.dump_table now sorts keys before printing the table
|
||
|
* Misc:
|
||
|
- Tests no longer accidentally create files in $HOME; all
|
||
|
transient files that are used for testing are now created
|
||
|
in the build directory, except for sockets which are created
|
||
|
in /tmp due to the 108-character limitation in socket paths
|
||
|
- Tests that require optional SPA plugins are now skipped if
|
||
|
those SPA plugins are not installed
|
||
|
- Added a nice summary output at the end of meson configuration
|
||
|
- Documented the Lua ObjectManager / Interest / Constraint APIs
|
||
|
- Fixed some memory leaks
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Jul 14 14:57:37 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Remove the Conflicts: pipewire-session-manager. There's no
|
||
|
problem in having both installed at the same time, they just
|
||
|
can't run at the same time.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Jul 14 06:25:10 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Add `Provides: pipewire-session-manager` so wireplumber is
|
||
|
recognized as a pipewire session manager implementation.
|
||
|
- Add `Conflicts: pipewire-session-manager` so no other session
|
||
|
manager is installed at the same time.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Jul 13 06:23:39 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Update to version 0.4.1:
|
||
|
* Highlights:
|
||
|
+ WirePlumber now supports Lua 5.4. You may compile it either
|
||
|
with Lua 5.3 or 5.4, without any changes in behavior. The
|
||
|
internal Lua subproject has also been upgraded to Lua 5.4, so
|
||
|
any builds with -Dsystem-lua=false will use Lua 5.4 by
|
||
|
default
|
||
|
* Fixes:
|
||
|
+ Fixed filtering of pw_metadata objects, which broke with
|
||
|
PipeWire 0.3.31
|
||
|
+ Fixed a potential livelock condition in
|
||
|
si-audio-adapter/endpoint where the code would wait forever
|
||
|
for a node's ports to appear in the graph
|
||
|
+ Fixed granting access to camera device nodes in flatpak
|
||
|
clients connecting through the camera portal
|
||
|
+ Fixed a lot of issues found by the coverity static analyzer
|
||
|
+ Fixed certain race conditions in the wpipc library
|
||
|
+ Fixed compilation with GCC older than v8.1
|
||
|
* Scripts:
|
||
|
+ Added a policy script that matches nodes to specific devices
|
||
|
based on the "media.role" of the nodes and the
|
||
|
"device.intended-roles" of the devices
|
||
|
* Build system:
|
||
|
+ Bumped GLib requirement to 2.62, as the code was already
|
||
|
using 2.62 API
|
||
|
+ Added support for building WirePlumber as a PipeWire
|
||
|
subproject
|
||
|
+ Doxygen version requirement has been relaxed to accept v1.8
|
||
|
+ The CI now also verifies that the build works on
|
||
|
Ubuntu 20.04 LTS and tries multiple builds with different
|
||
|
build options
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Thu Jun 24 10:46:58 UTC 2021 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.4.0:
|
||
|
* release 0.4.0
|
||
|
* create-item: handle all kinds of Audio/Video & Stream nodes
|
||
|
* si-standard-link: treat endpoints as devices when linking
|
||
|
stream<->endpoint
|
||
|
* config: document the duck.level policy property
|
||
|
* scripts: change debug level for some messages
|
||
|
* lua: improve the object:activate() callback to report errors
|
||
|
* wplua: add a wplua_checkclosure() helper function
|
||
|
* Revert "tests: enable G_SLICE=debug-blocks in all tests"
|
||
|
* meson: add '--keep-debuginfo=yes' to the valgrind command line
|
||
|
* pipewire-object: change params-changed signal to take a string
|
||
|
param name
|
||
|
* tests: enable G_SLICE=debug-blocks in all tests
|
||
|
* meson: use environment() objects to define env for tests
|
||
|
* meson: add a test setup to run tests under valgrind
|
||
|
* daemon/wpexec: standardize exit codes based on sysexits.h
|
||
|
* daemon: replace the exit_message with direct message printouts
|
||
|
* wpexec: force the log level to be at least 1 and use fprintf()
|
||
|
for local errors
|
||
|
* daemon: exit with 0 both in case of a signal and in case of
|
||
|
disconnection
|
||
|
* tests: si-standard-link: remove unneeded core syncs
|
||
|
* tests: common: make sure no events are pending before
|
||
|
destroying core
|
||
|
* lib: add struct paddings to be able to maintain ABI
|
||
|
compatibility
|
||
|
* docs: set breathe_default_members to get struct members to show
|
||
|
up in the docs
|
||
|
* docs: remove :project: annotations for breathe
|
||
|
* pw-object-mixin: ignore set param on already destroyed objects
|
||
|
* proxy: destroy pw_proxy if bind_error is called
|
||
|
* restore-stream: implement storing/restoring of target.node
|
||
|
metadata
|
||
|
* lua: implement metadata:set()
|
||
|
* lua: fix refcounting of metadata iterator
|
||
|
* wplua: fix memleak when converting GVariant to Lua
|
||
|
* m-default-nodes-api: free default nodes when disabling plugin
|
||
|
* m-default-nodes: free default nodes when disabling plugin
|
||
|
* global-proxy: fix leak when getting global properties
|
||
|
* spa-pod: check if pod is valid before _parser_can_collect
|
||
|
* lua: remove hack around WpObjectInterest since we can _ref()
|
||
|
it now
|
||
|
* object-interest: remove unused _copy() method
|
||
|
* default-routes: use a constraint to check if device.name is
|
||
|
present
|
||
|
* default-routes: fix storing dev_info
|
||
|
* scripts: initial restore-stream implementation
|
||
|
* object-manager: small doc fix
|
||
|
* object-manager: support declaring interest on all properties of
|
||
|
globals
|
||
|
* object-interest: enrich _matches_full() to be able to check all
|
||
|
constraints
|
||
|
* si-adapter: handle autoconnect property
|
||
|
* si-adapter: handle dont-remix streams
|
||
|
* tests: store temporary WpState files in the build directory
|
||
|
* state: remove support for groups and propagate save errors
|
||
|
* state: don't stat() before creating the dir or removing the
|
||
|
state file
|
||
|
* policy: don't crash if some node properties are not set
|
||
|
* pipewire-object: fix memory leaks when getting properties
|
||
|
* m-default-profiles: finalize parent when plugin is destroyed
|
||
|
* si-adapter: take ownership of format argument
|
||
|
* endpoint: free media_class when disposing WpImplEndpoint
|
||
|
* pipewire-object: take ownership of param argument
|
||
|
* monitors: sanitize device names like media-session does
|
||
|
* object: advance pending transitions if activation fails
|
||
|
* modules: remove the old m-default-routes
|
||
|
* m-device-activation: don't set device routes
|
||
|
* default-routes: re-implement the default-routes module in lua
|
||
|
* docs: Write gtk-doc comments for constant variables
|
||
|
* docs: include wp.h in gir sources
|
||
|
* docs: Add brief descriptions to all functions
|
||
|
* policy: destroy node if defined target was not found and
|
||
|
reconnect is false
|
||
|
* global-proxy: make sure registry is valid before requesting
|
||
|
destroy
|
||
|
* lua: don't crash if an iterator is NULL
|
||
|
* lua: allow the Log api to debug boxed objects (useful for pods)
|
||
|
* lua: fix PipewireObject api: s/set_params/set_param/ and
|
||
|
cleanup
|
||
|
* lua: add WpState bindings
|
||
|
* object: use weakref when advancing current transition
|
||
|
* object: use destroy notify to keep self alive while advancing
|
||
|
transitions
|
||
|
* docs: make progress on lua api documentation
|
||
|
* policy-{node,endpoint-client}: do not crash if media.class is
|
||
|
nil
|
||
|
* meson: add reference to bugfix
|
||
|
* config: disable role-based endpoints in the default
|
||
|
configuration
|
||
|
* tests: si-audio-adapter: test is.device property
|
||
|
* m-si-standard-link: fix number of links check
|
||
|
* tests: si-standard-link: fix racy test
|
||
|
* meson: force the gir target to depend on wp-gtkdoc.h
|
||
|
* docs: tidy up most documents and try to update the information
|
||
|
in them
|
||
|
* docs: use the default sidebar color to make the version easier
|
||
|
to read
|
||
|
* docs: show version number on the sidebar
|
||
|
* release 0.3.96
|
||
|
* Makefile: use wp-uninstalled.sh to implement the run target
|
||
|
* gitignore: remove obsolete entry
|
||
|
* editorconfig: remove obsolete entry and add python script rules
|
||
|
* LICENSE: update copyright years
|
||
|
* docs: convert NEWS to rst and add it in the generated docs
|
||
|
* docs: update installing-wireplumber page
|
||
|
* ci: bump distribution tag date to the actual branch merge day
|
||
|
* gir: fix generate_gir()
|
||
|
* docs: convert lua api docs to pure rst
|
||
|
* docs: fix gobject-introspection data generation
|
||
|
* ci: update fdo template, fedora image and dependencies for docs
|
||
|
* docs: improve the home page and toc; use README.rst as a base;
|
||
|
add badges
|
||
|
* docs: fix C API documentation to work nicely with doxygen &
|
||
|
sphinx
|
||
|
* docs: meson: rebuild docs when Doxyfile.in changes
|
||
|
* docs: setup sphinx to use the graphviz extension
|
||
|
* docs: improve the visual appearence of the generated html and
|
||
|
cleanup
|
||
|
* docs: reorganize .rst files and add tables of contents for the
|
||
|
APIs
|
||
|
* meson: refactor docs + gi build system
|
||
|
* docs: build gobject introspection from xml files generated by Doxygen
|
||
|
* ci: replace hotdoc with Doxygen, Sphinx and Breathe tools
|
||
|
* docs: Add Lua API documentation
|
||
|
* docs: api: Replace hotdoc specific commands with Doxygen
|
||
|
specific commands
|
||
|
* docs: Replace hotdoc with Doxygen & Sphinx to generate
|
||
|
documentation
|
||
|
* pipewire-object-mixin: fix memleak in GList
|
||
|
* policy-endpoint-device: wait until previous links are activated
|
||
|
* m-si-standard-link: remove unused manage.lifetime configuration
|
||
|
property
|
||
|
* tests: enable si-standard-link test and port it to new API
|
||
|
* wplua: ref closure before invalidating it
|
||
|
* wpctl: fix iterator cleanup
|
||
|
* endpoint: remove wp_endpoint_create_link()
|
||
|
* scripts: remove static-sessions
|
||
|
* wp: remove WpSession and WpEndpointLink
|
||
|
* policy: don't link endpoints on startup
|
||
|
* m-default-nodes: check if node is valid before returning bound
|
||
|
id
|
||
|
* policy: reevaluate all linkables if one linkable was removed
|
||
|
* m-default-routes: log error message when failed to get current
|
||
|
routes
|
||
|
* m-default-profile: log error message when failed to get current
|
||
|
profile
|
||
|
* m-mixer-api: make sure the enum param iterator is valid
|
||
|
* pipewire-object-mixin: make sure enum params task is only
|
||
|
triggered once
|
||
|
* modules: steal the format_task before returning it
|
||
|
* systemd: Add conflicts with pipewire-media-session
|
||
|
* proxy: don't accept NULL pw_proxy in set_pw_proxy API
|
||
|
* m-device-activation: use sync API to enum available profiles
|
||
|
* m-default-routes: use sync API to enum available routes
|
||
|
* m-default-profile: use sync API to enum available profiles
|
||
|
* global-proxy: delay object creation until bound feature is
|
||
|
requested
|
||
|
* alsa-monitor: activate BOUND feature in JACK device
|
||
|
* tests: proxy: add a test for enum_params errors
|
||
|
* proxy: relax proxy error warning messages
|
||
|
* pw-object-mixin: watch for proxy errors during enum_params
|
||
|
* proxy: add a "bind" watch, to watch for proxy errors while
|
||
|
binding/exporting
|
||
|
* proxy: add error signal
|
||
|
* policy: fix removing of item links when linkable is removed
|
||
|
* tests: spa-pod: fix int64 constant to work on all architectures
|
||
|
* global-proxy: destroy the global when proxy is destroyed
|
||
|
* global-proxy: inherit from WpProxy when declaring class
|
||
|
* spa-pod: respect the SPA size for long and int APIs
|
||
|
* si-standard-link: configure the format in WpSiAdapters before
|
||
|
linking
|
||
|
* modules: implement WpSiAdapter in si-audio-adapter and
|
||
|
si-audio-endpoint
|
||
|
* si-interfaces: add WpSiAdapter interface to set and get session
|
||
|
item fortmat
|
||
|
* session-item: add _get_property API
|
||
|
* si-audio-adapter: remove unneeded 'preferred.n.channels'
|
||
|
property
|
||
|
* si-standard-link: make sure create_links creates at least 1
|
||
|
link
|
||
|
* modules: remove role and priority properties from
|
||
|
si-audio-adapter and si-node
|
||
|
* si-interfaces: rename WpSiPortInfo to WpSiLinkable
|
||
|
* scripts: cleaned and improved policy scripts
|
||
|
* create-item.lua: always enable monitor ports by default
|
||
|
* modules: remove 'monitor' port context from si-audio-adapter
|
||
|
and si-node
|
||
|
* release 0.3.95
|
||
|
* meson: depend on pipewire 0.3.26
|
||
|
* config: bluez: update to match media-session's
|
||
|
bluez-monitor.conf
|
||
|
* lua: rename Plugin() to Plugin.find()
|
||
|
* session-item: remove undefined API
|
||
|
* wp: remove WpSessionBin
|
||
|
* wp: rename debug.{h,c} to log.{h,c}
|
||
|
* config: disable ipc module by default and move it to the main
|
||
|
instance
|
||
|
* wpipc: place sockets in the same runtime directory as pipewire
|
||
|
* m-ipc: cleanup server using g_clear_pointer() for consistency
|
||
|
and safety
|
||
|
* wpipc: remove socket files after shutdown of the server
|
||
|
* meson: generate and install pkg-config file for wpipc
|
||
|
* meson: find threads_dep early and also use it in the
|
||
|
wpipc-client
|
||
|
* wpipc: use proper api & so versions
|
||
|
* meson: replace join_paths() with operator /
|
||
|
* meson: remove audiofade pipewire branch check
|
||
|
* meson: make wpipc optional and disabled by default
|
||
|
* policy-node: accept node names or paths in a stream's
|
||
|
node.target property
|
||
|
* policy-endpoint-client-links.lua: consider 'suspend.playback'
|
||
|
metadata
|
||
|
* modules: add ipc module
|
||
|
* lib: add wpipc library
|
||
|
* config: unify config and config-split
|
||
|
* systemd: add templated systemd unit files
|
||
|
* policy-endpoint: implement volume ducking
|
||
|
* m-mixer-api: track monitorVolumes and allow modifying them
|
||
|
* access: add a more generic "default" access policy script
|
||
|
* config: add an example of split-instance configuration
|
||
|
* Add a wp-uninstalled.sh script for easily running programs
|
||
|
uninstalled
|
||
|
* lua: remove the ability to specify spa_libs in the lua config
|
||
|
* daemon: init export core in the daemon and share it with
|
||
|
modules
|
||
|
* lua: change the "wireplumber.interactive" property to
|
||
|
"wireplumber.daemon"
|
||
|
* daemon: Use a pipewire-style config file to load initial
|
||
|
configuration
|
||
|
* core: use log.level from the pw_context
|
||
|
* log: factor out the log level configuration into
|
||
|
wp_log_level_set()
|
||
|
* audio-endpoint: configure adapter for null sink with
|
||
|
monitor.channel-volumes
|
||
|
* impl-node: implement WpPipewireObject
|
||
|
* device: debug and enhance spa device event handling
|
||
|
* config: policy: improve the endpoints & roles example config
|
||
|
* policy-endpoint-client: remove handling of move & follow and
|
||
|
endpoint priorities
|
||
|
* meson: bump version to 0.3.70
|
||
|
* m-mixer-api: allow calling the action signals even when the
|
||
|
plugin is not enabled
|
||
|
* m-default-nodes-api: remove reduntant call to g_clear_object
|
||
|
* wplua: store closures only with a weak reference
|
||
|
* examples: add example script to get the default sink's volume
|
||
|
* scripts: add policy for links between clients and endpoints
|
||
|
* lua: add WpObject get_active/supported_features() bindings
|
||
|
* lua: add g_get_real/monotonic_time() bindings
|
||
|
* si-audio-endpoint: give better descriptions to endpoints and
|
||
|
their null sinks
|
||
|
* static-endpoints: avoid capturing session item reference in
|
||
|
the activate closure
|
||
|
* policy: export endpoints, do not export endpoint links
|
||
|
* wpctl: handle endpoints nicely and enable volume controls on
|
||
|
them
|
||
|
* tools: split wireplumber script execution mode to a separate
|
||
|
wpexec tool
|
||
|
* tools: move under the 'src' directory
|
||
|
* src: scripts: rename policy-endpoint.lua to
|
||
|
policy-endpoint-client.lua
|
||
|
* m-audio-endpoint: remove target property
|
||
|
* static-endpoints.lua: don't export endpoints, only activate
|
||
|
them
|
||
|
* m-mixer-api: add configurable support for the cubic volume
|
||
|
scale
|
||
|
* wpctl: use mixer & default-nodes API modules
|
||
|
* m-mixer-api: also add channel-independent volume for ease of
|
||
|
use
|
||
|
* wpctl: remove obsolete default node/endpoint key macros
|
||
|
* m-mixer-api: fix getting volume info from nodes that don't
|
||
|
have volumeBase & step
|
||
|
* lua: add a Debug.dump_table() utility function
|
||
|
* m-default-nodes-api: load all information before declaring the
|
||
|
plugin as "enabled"
|
||
|
* lua: add a Core.require_api() utility function
|
||
|
* modules: add module-mixer-api
|
||
|
* src: config: do not create endpoints by default
|
||
|
* src: scripts: add policy-endpoint.lua script
|
||
|
* policy-node.lua: do not handle items with media role if
|
||
|
endpoints exist
|
||
|
* policy-node.lua: clean up findTarget function
|
||
|
* src: scripts: add static-endpoints.lua script
|
||
|
* modules: remove unneeded si-audio-convert module
|
||
|
* src: config: rename session-item support to default-policy
|
||
|
* create-item.lua: only create items for client and device
|
||
|
nodes
|
||
|
* policy-item.lua: only handle si-audio-adapter and si-nodes
|
||
|
links
|
||
|
* src: scripts: remove unneeded policy-endpoint.lua
|
||
|
* m-lua-scripting: add object manager get_n_objects API
|
||
|
* si-audio-endpoint: deactivate node when disabling active
|
||
|
feature
|
||
|
* m-si-audio-endpoint: fix port configuration and target
|
||
|
linking
|
||
|
* m-si-audio-endpoint: make target property optional
|
||
|
* tests: si-standard-link: sync core before finishing
|
||
|
* si-standard-link: call parent class finalize once finalized
|
||
|
* m-si-standard-link: properly set in item port context when
|
||
|
configuring
|
||
|
* policy-node.lua: fix param name typo when finding target
|
||
|
* policy-node: properly remove links between apps and capture
|
||
|
devices
|
||
|
* endpoint: remove useless pw_proxy_destroyed handlers
|
||
|
* registry: fix issues with dangling WpGlobal objects causing
|
||
|
assertion failures
|
||
|
* modules: use dots instead of dashes for session item properties
|
||
|
* wpctl: status: print nodes, ports, links grouped more nicely
|
||
|
* registry: fix odd assertion failures that occured from time to
|
||
|
time
|
||
|
* policy-node.lua: support config.move and config.follow
|
||
|
* m-si-audio-adapter: abort activation if node feature ports is
|
||
|
no longer enabled
|
||
|
* m-si-standard-link: make sure in/out items are valid before
|
||
|
activating
|
||
|
* wpctl: fix setting default nodes
|
||
|
* m-default-nodes: restore configured values on the metadata at
|
||
|
startup
|
||
|
* policy-node: use default-nodes-api plugin
|
||
|
* modules: add new module-default-nodes-api
|
||
|
* m-default-nodes: move common code to a new header
|
||
|
* m-default-nodes: add properties to control storage method and
|
||
|
interval
|
||
|
* modules: rename default-metadata to default-nodes and enable it
|
||
|
always in the config
|
||
|
* m-default-metadata: remove default endpoints, follow upstream
|
||
|
logic
|
||
|
* policy-node.lua: fix type mismatch when comparing session item
|
||
|
Ids
|
||
|
* lua: s/Feature.Object.ALL/Features.ALL/
|
||
|
* bluez config: update based on the latest media-session config
|
||
|
* m-default-metadata: add support for default audio nodes
|
||
|
* wpctl: list nodes and allow setting default nodes
|
||
|
* modules: remove endpoint impl on si-node, si-audio-convert and
|
||
|
si-audio-adapter
|
||
|
* tests: si-standard-link: use new si-audio-endpoint
|
||
|
* modules: add si-audio-endpoint session item
|
||
|
* src: scripts: add policy-node.lua to link port info session
|
||
|
items
|
||
|
* src: config: rename endpoint-support to session-item-support
|
||
|
* modules: remove si-monitor module
|
||
|
* src: scripts: add create-item.lua and remove
|
||
|
create-endpoint.lua
|
||
|
* m-si-standard-link: set out-item-id and in-item-id properties
|
||
|
* session-item: add id property
|
||
|
* m-si-audio-adapter: ensure ports are available before enabling
|
||
|
active
|
||
|
* m-lua-scripting: add get_associated_proxy session item Lua API
|
||
|
* si-interfaces: make WpSiLink work with WpSiPortInfo instead of
|
||
|
WpSiEndpoint
|
||
|
* si-interfaces: rename WpSiEndpointAcquisition to
|
||
|
WpSiAcquisition
|
||
|
* m-si-standard-link: use a weak reference for in and out
|
||
|
endpoints
|
||
|
* m-si-standard-link: fix in-endpoint check when configuring
|
||
|
* wplua: sort properties after transfering them from lua
|
||
|
* properties: add wp_properties_sort()
|
||
|
* monitor-alsa: add api.alsa.card.* properties on nodes
|
||
|
* bluez5: autoconnect bluetooth stream nodes
|
||
|
* object: deactivate only the features that were previously
|
||
|
active
|
||
|
* bluez5: use api.bluez5.connection-info
|
||
|
* m-si-convert: rename to si-audio-convert
|
||
|
* m-si-adapter: rename to si-audio-adapter
|
||
|
* tests: session-item: add registration test
|
||
|
* object-interest: add support for session item properties
|
||
|
* session-item: add _register and _remove API
|
||
|
* session-item: refactor and inherit from WpObject
|
||
|
* session-bin: remove unused wp_session_bin_new API
|
||
|
* lib: make WpImplEndpoint and WpImplEndpointLink public
|
||
|
* m-si-adapter: rename algorithms to audio-utils
|
||
|
* m-si-monitor-endpoint: rename to si-monitor
|
||
|
* m-si-simple-node-endpoint: rename to si-node
|
||
|
* lib: remove WpEndpointStream API
|
||
|
* wp_init: set PIPEWIRE_DEBUG
|
||
|
* spa-device: do not assert if the activation transition fails
|
||
|
* m-default-routes: return if default routes for a device are
|
||
|
not found
|
||
|
* m-default-routes: relax some warning logs to debug
|
||
|
* m-lua-script: add object_deactivate API
|
||
|
* m-lua-script: add closure for object_activate API
|
||
|
* object: add wp_object_activate_closure API
|
||
|
* ci: use 'disabled' instead of 'false' when configuring pipewire
|
||
|
* m-lua-scripting: add WpSessionBin add API
|
||
|
* lib: remove WpConfiguration
|
||
|
* lib: documentation fixes
|
||
|
* lua/api: add Link() constructor
|
||
|
* module-default-routes: store/restore route properties
|
||
|
* module-device-activation: apply default route on each new
|
||
|
device
|
||
|
* modules: add module-default-routes for storing/restoring routes
|
||
|
* lua/api: default Constraint type always to pw-global
|
||
|
* object-interest: remove type checks
|
||
|
* lua/api: simplify & improve session_item_configure
|
||
|
* lua/api: make the type optional when declaring Interest as a
|
||
|
function argument
|
||
|
* lua/api: improve getting optional Interest arguments
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Mar 02 12:34:35 UTC 2021 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.3.60+git.20210301.6c2bfea:
|
||
|
* scripts: policy-endpoints: add move and follow options
|
||
|
* m-lua-scripting: add get_n_streams endpoint API
|
||
|
* m-lua-scripting: add lookup session API
|
||
|
* examples: add bt-profile-switch example
|
||
|
* lua/pod: don't crash on parsing objects with unknown keys,
|
||
|
just ignore them
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Feb 26 16:12:01 UTC 2021 - alarrosa@suse.com
|
||
|
|
||
|
- Update to version 0.3.60+git.20210225.9f50117:
|
||
|
* lib: remove module.{c,h}
|
||
|
* meson: fix glib version requirement checks
|
||
|
* systemd: use the older version of the systemd pkgconfig
|
||
|
variables
|
||
|
* systemd: remove RuntimeDirectory from the system service
|
||
|
* daemon: add systemd unit files
|
||
|
* m-lua-scripting/pod: retrieve Ids in Array & Choice as
|
||
|
strings, if possible
|
||
|
* m-lua-scripting/pod: s/id_type/object_id/ as commented on !125
|
||
|
* m-lua-scripting: add support for choices when creating object
|
||
|
pods
|
||
|
* m-lua-scripting: refactor array and choice pod constructors to
|
||
|
accept Id names
|
||
|
* m-lua-scripting: allow constructing pod Ids with the Id name
|
||
|
* m-lua-scripting: set id_type field when parsing pod objects
|
||
|
* m-lua-scripting: set pod_type and value_type fieds when parsing
|
||
|
non-primitive pods
|
||
|
* m-lua-scripting: start indices from 1 when parsing pods
|
||
|
* test-endpoint: fix failure with pipewire master
|
||
|
* config: split flatpak access configuration
|
||
|
* scripts/access: update access scripts to call
|
||
|
update_permissions() cleanly
|
||
|
* lua/api: fix client update_permissions()
|
||
|
* examples: interactive.lua: add a shebang and update running
|
||
|
instructions
|
||
|
* lua: enable loading scripts with a shebang
|
||
|
* lua/api: log using a debug category unique for the calling
|
||
|
script file
|
||
|
* lua/api: ensure the function name in the debug output is
|
||
|
non-null
|
||
|
* monitor-alsa: fix node description on strange embedded devices
|
||
|
* suspend-node: honor "session.suspend-timeout-seconds"
|
||
|
* monitors: sanitize node descriptions too
|
||
|
* wplua: table_to_properties: use luaL_tolstring to do string
|
||
|
conversions
|
||
|
* config: bluez-monitor: add hfp_hf in the supported roles
|
||
|
comment
|
||
|
* m-lua-scripting: add WpPipewireObject api
|
||
|
* config: move loading of all audio support modules in
|
||
|
90-enable-audio-all
|
||
|
* config: split configuration for endpoints support in
|
||
|
config.lua.d
|
||
|
* monitors: drop the monitor- prefix from the filenames and
|
||
|
s/bluez5/bluez/
|
||
|
* config: make the monitor properties & rules available in global
|
||
|
tables
|
||
|
* config: load reserve-device only if alsa.reserve is true
|
||
|
* monitor-bluez: fix source priority assignment
|
||
|
* monitors: sanitize node names to match media-session's behavior
|
||
|
* wplua: gvariant_to_lua: convert dictionary keys to integers if
|
||
|
possible
|
||
|
* monitor-alsa: sync logic, properties and configuration with
|
||
|
media-session
|
||
|
* wplua: improve GVariant array conversion
|
||
|
* wplua: improve gvariant <-> lua conversion functions
|
||
|
* wplua: remove VARDICT handling in gvariant->lua conversion
|
||
|
* config: mimick media-session's v4l2-monitor.conf
|
||
|
* monitor-v4l2: copy properties and rules logic from
|
||
|
media-session
|
||
|
* config: immitate media-session's bluez-monitor.conf
|
||
|
* monitor-bluez: copy all properties and the rules functionality
|
||
|
from media-session
|
||
|
* lua/config: load split config files in alphanumeric order
|
||
|
* tests/lua: test monitor configuration rules code
|
||
|
* lua/api: add wp_object_interest_matches() binding
|
||
|
* object-interest: allow matching against WpProperties objects
|
||
|
* scripts: add portal access script
|
||
|
* scripts: add flatpak access lua script
|
||
|
* wplua: handle more GVariant cases
|
||
|
* m-lua-scripting: add WpClient LUA api
|
||
|
* Revert "meson: relax meson version dependency when building
|
||
|
with system lua"
|
||
|
* meson: relax meson version dependency when building with system
|
||
|
lua
|
||
|
* lua/pod: optimize push_primitive_values()
|
||
|
* tests/wplua: set WIREPLUMBER_CONFIG_DIR to an invalid directory
|
||
|
* lua/pod: simplify spa_pod_object_new()
|
||
|
* lua/pod: optimize lookups in primitive_lua_type and fix some
|
||
|
mistakes
|
||
|
* lua/pod: lookup the object type and values table only once when
|
||
|
constructing objects
|
||
|
* lua/pod: convert Id object fields to strings, if possible
|
||
|
* rename all foo_iterate APIs to foo_new_iterator
|
||
|
* m-lua-scripting/pod: push pod constructors using luaL_newlib
|
||
|
instead of manually
|
||
|
* modules: remove m-node-suspension
|
||
|
* m-lua-scripting/api: fix om:lookup() to return nil when no
|
||
|
object was found
|
||
|
* scripts: add suspend-node.lua to replace m-node-suspension
|
||
|
* wplua: fix enum <-> lua conversion
|
||
|
* create-endpoint.lua: fix some issues
|
||
|
* create-endpoint.lua: fix indentation
|
||
|
* node: change send_command() to take a string
|
||
|
* tests: wplua: add pod.lua script to validate pod API
|
||
|
* tests: wplua: add a script tester to validate lua scripts
|
||
|
* m-lua-scripting: add WpSpaPod api
|
||
|
* wplua: fix vtables lookup in boxed __index function
|
||
|
* examples: add an example interactive lua script
|
||
|
* m-lua-scripting/api: add wp_object_manager_iterate_filtered()
|
||
|
* proxy: add a method to query the interface type
|
||
|
* daemon: add a mode to execute lua scripts from the command line
|
||
|
* m-lua-scripting/api: add WpCore bindings
|
||
|
* m-lua-scripting/api: fix access to core in session_item_new()
|
||
|
* meson: bump version
|
||
|
* meson: remove C++ support, there's no C++ code anymore
|
||
|
* monitor-alsa: simplify reserve-device connection logic
|
||
|
* monitor-alsa: receive script configuration from config.lua
|
||
|
* scripts: add static-sessions.lua
|
||
|
* m-lua-scripting/api: add WpImplSession bindings
|
||
|
* m-lua-scripting: pass component arguments to scripts
|
||
|
* wplua: pass SANDBOX_CONFIG as a script argument
|
||
|
* wplua: allow exchanging arguments and results with scripts
|
||
|
* m-lua-scripting: use wplua_table_to_asv() instead of custom
|
||
|
function
|
||
|
* wplua: add GVariant dictionary conversion functions
|
||
|
* wptoml: remove, it's not used anymore
|
||
|
* daemon: refactor
|
||
|
* m-lua-scripting: fixes
|
||
|
* wp: add wp_get_data_dir()
|
||
|
* src: move scripts to their own directory, install in
|
||
|
$prefix/share/
|
||
|
* object-interest: add a NOT_EQUALS verb
|
||
|
* m-lua-scripting: allow queuing-in scripts without the plugin
|
||
|
being activated
|
||
|
* m-lua-scripting: refactor as a WpComponentLoader
|
||
|
* wplua: allow loading relative paths from wplua_load_path()
|
||
|
* wplua: add g_autoptr support to lua_State
|
||
|
* wplua: add flags to modify the sandbox behavior
|
||
|
* wp: export functions to get the module & config dirs
|
||
|
* lib: introduce WpComponentLoader and remove WpModule
|
||
|
* plugin: inherit from WpObject
|
||
|
* modules: remove modules that are obsoleted by the lua scripts
|
||
|
* modules: actually delete module-dbus-reservation.c
|
||
|
* monitor-alsa: add device reservation logic
|
||
|
* spa-device: add an "object-removed" signal
|
||
|
* lua: add wp_plugin_find binding
|
||
|
* modules: delete the old dbus-reservation module
|
||
|
* modules: implement a new reserve-device module
|
||
|
* plugin: add a method to find plugins easily
|
||
|
* conf: create-endpoint.lua: make sure endpoints always have a
|
||
|
valid name
|
||
|
* conf: create-endpoint.lua: use node id as key in session_items
|
||
|
table
|
||
|
* meson: add 'system-lua' project option to toggle the bundled
|
||
|
lua
|
||
|
* conf: disable legacy endpoint creation module and replace it
|
||
|
with lua script
|
||
|
* m-lua-scripting: add session item lua API
|
||
|
* session-item: add export API with closure
|
||
|
* session-item: add activate API with closure
|
||
|
* docs: update daemon/running.md
|
||
|
* m-lua-scripting: fix reference count in object manager's lookup
|
||
|
API
|
||
|
* object-interest: add _ref and _unref APIs
|
||
|
* config: enable lua scripts, disable legacy modules
|
||
|
* lua: fix some nasty memory leaks
|
||
|
* meson: require pipewire 0.3.20
|
||
|
* spa-device: handle DeviceEvent and configure node props
|
||
|
* m-lua-scripting: do stop the lua engine on deactivate()
|
||
|
* main: drop WpConfiguration reference early
|
||
|
* plugin: debug activation & deactivation
|
||
|
* wplua: object: unset GValues used when calling action signals
|
||
|
* config: add lua-based device monitors
|
||
|
* m-lua-scripting: add bindings required for device monitors
|
||
|
* impl-node: derive from WpProxy
|
||
|
* spa-device: derive from WpProxy and manage child objects
|
||
|
internally
|
||
|
* m-default-metadata: handle default nodes
|
||
|
* config: rename desktop profile to desktop-ep
|
||
|
* spa-pod: add the ability to specify Id properties as strings
|
||
|
* spa-type: refactor
|
||
|
* m-lua-scripting: handle default endpoints from the metadata
|
||
|
* m-config-policy: handle default endpoints from the metadata
|
||
|
* modules: replace session-settings with default-metadata
|
||
|
* wpctl: implement set-default using the metadata API
|
||
|
* meson: fix lua dependency on Arch Linux
|
||
|
* metadata: refactor API to quickly find a specific value
|
||
|
* state: use GKeyFile API to keep state in disk
|
||
|
* wp: remove initialization of wireplumber types
|
||
|
* session: remove default-endpoint-changed signal
|
||
|
* spa-type: fix param profile's last Id
|
||
|
* config: implement the functionality of config-policy in Lua
|
||
|
* m-lua-scripting: expose session, endpoint, endpoint-link APIs
|
||
|
* wplua: expose table to/from properties conversion functions
|
||
|
* object, pw-obj-mixin: fix warnings
|
||
|
* config: disable audio sink "streams"; they fail on latest
|
||
|
pipewire
|
||
|
* Fix compiler warnings that appear with the warning flags
|
||
|
enabled
|
||
|
* meson: enable compiler flags for warnings, if supported
|
||
|
* modules: implement module-lua-scripting
|
||
|
* wplua: use only the basename of the files for debug/error
|
||
|
messages
|
||
|
* wplua: use the error handler also when loading chunks
|
||
|
* wplua: implement __tostring for GObject
|
||
|
* wplua: use the registry to store vtables & closures
|
||
|
* wplua: remove TypeClass, push constructors as ClassName_new
|
||
|
* wplua: allow checking for a specific GType with
|
||
|
isobject/isboxed
|
||
|
* configuration: convert file paths from relative to absolute if
|
||
|
necessary
|
||
|
* configuration: implement grouping files in subdirectories
|
||
|
* wplua: add proper GError domain & error codes
|
||
|
* wplua: implement sandboxing of scripts
|
||
|
* wplua: convert WpProperties to table and vice versa
|
||
|
* wplua: new simple engine to integrate GObject with Lua
|
||
|
* meson: add dependency on lua 5.3
|
||
|
* tools: port wpctl to the new APIs
|
||
|
* tests: endpoint: re-enable the params unit test
|
||
|
* lib: delete WpProps
|
||
|
* pw-object-mixin: refactor, implement param caching and features
|
||
|
for impl objects
|
||
|
* iterator: add version field in the methods struct
|
||
|
* meson: bump project & API versions
|
||
|
* spa-pod: make the wrap functions public, remove private.h and
|
||
|
sort out the rest
|
||
|
* private: further cleanup of private.h, sort out header includes
|
||
|
* session-item: move wp_session_item_set_parent() to the public
|
||
|
header
|
||
|
* defs: add a new WP_PRIVATE_API function annotation
|
||
|
* iterator: make private stuff public, cleanup private.h further
|
||
|
* lib: move WpImplEndpoint* header parts to
|
||
|
private/impl-endpoint.h
|
||
|
* m-metadata: add callback for wp_object_activate()
|
||
|
* src: port daemon to the new APIs
|
||
|
* modules: port modules and their tests to the new proxy APIs
|
||
|
* object-manager: recursively store requested features on
|
||
|
children
|
||
|
* impl-endpoint{,-stream}: disable FEATURE_PROPS temporarily
|
||
|
* tests: fix library unit tests
|
||
|
* lib: refactor WpProxy
|
||
|
* lib: add new proxy-interfaces: interfaces for the refactored
|
||
|
WpProxy class
|
||
|
* lib/private: move the registry & global APIs to a separate
|
||
|
header
|
||
|
* lib: add new WpObject base class
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Wed Dec 30 13:19:27 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
|
||
|
|
||
|
- Disable testrun for 32bit arches, upstream do not care for them,
|
||
|
so we can not expect fixed tests any time soon.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Dec 18 20:22:35 UTC 2020 - bjorn.lie@gmail.com
|
||
|
|
||
|
- Update to version 0.3.0+37:
|
||
|
* m-endpoint-creation: remove undefined API
|
||
|
* m-endpoint-creation: remove unnused variable in Bluez5 endpoint
|
||
|
creation
|
||
|
* m-device-activation: use profile from default-profile module if
|
||
|
loaded
|
||
|
* modules: add module to store device profiles each time they
|
||
|
change
|
||
|
* lib: add new WpState API to save and load data from files
|
||
|
* m-monitor: add use-acp flag
|
||
|
* modules: refactor dbus reservation
|
||
|
* plugin: add name property
|
||
|
* wpctl: add set-profile option
|
||
|
* transition: stop and return error if cancelled by the
|
||
|
GCancellable
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Tue Oct 20 11:48:52 UTC 2020 - dimstar@opensuse.org
|
||
|
|
||
|
- Update to version 0.3.0+27:
|
||
|
* device: set parent type to GObject in WpSpaDevice structure
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Oct 12 13:24:01 UTC 2020 - dimstar@opensuse.org
|
||
|
|
||
|
- Update to version 0.3.0+26:
|
||
|
* m-endpoint-creation: add bluez5 endpoint creation for bluetooth
|
||
|
devices
|
||
|
* m-config-endpoint: refactor and rename to endpoint-creation
|
||
|
* modules: add bluez5 endpoint session item
|
||
|
* modules: add fake stream session item
|
||
|
* m-si-adapter: use the adapter's name as stream name
|
||
|
* m-si-adapter: set the configured flag when configuration was
|
||
|
successful
|
||
|
* m-config-policy: set the stream name to the media role propery
|
||
|
by default
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Fri Sep 11 10:45:33 UTC 2020 - dimstar@opensuse.org
|
||
|
|
||
|
- Update to version 0.3.0+19:
|
||
|
* Implement PW_TYPE_INTERFACE_Metadata
|
||
|
* metadata: fix more coding style issues
|
||
|
* metadata: improve implementation
|
||
|
* metadata: remove WP_METADATA_FEATURES_STANDARD and fix
|
||
|
copyright years
|
||
|
* module-metadata: s/settings/plugin/
|
||
|
* modules: rename metadata module to just 'module-metadata'
|
||
|
* tests: fix permissions check failure with latest pipewire
|
||
|
* tests: implement a WpMetadata unit test
|
||
|
- Drop use-system-cpptoml.patch: fixed upstream.
|
||
|
|
||
|
-------------------------------------------------------------------
|
||
|
Mon Jul 20 12:27:44 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
||
|
|
||
|
- Initial version of wireplumber 0.3.0
|