Sync from SUSE:SLFO:Main wireplumber revision 8f0092d31c8f1eea6050899b66189891
This commit is contained in:
parent
86336815f2
commit
5129ef47d1
7
_service
7
_service
@ -3,8 +3,13 @@
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
|
||||
<param name="revision">refs/tags/0.4.17</param>
|
||||
<param name="revision">0.5.6</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<!--
|
||||
<param name="revision">master</param>
|
||||
<param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
-->
|
||||
<!--
|
||||
<param name="revision">master</param>
|
||||
<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>
|
||||
|
@ -1,28 +0,0 @@
|
||||
From: Antonio Larrosa <alarrosa@suse.com>
|
||||
Subject: Fix bsc#1219411
|
||||
|
||||
wireplumber enables the bluetooth support in pipewire by default but this
|
||||
clashes with the bluetooth support in pulseaudio if audio is disabled in
|
||||
pipewire so this patch disables bluetooth support unless the
|
||||
90-enable-all.lua file is installed and we now move that file into the
|
||||
wireplumber-audio package.
|
||||
|
||||
Index: wireplumber-0.4.17/src/config/bluetooth.lua.d/50-bluez-config.lua
|
||||
===================================================================
|
||||
--- wireplumber-0.4.17.orig/src/config/bluetooth.lua.d/50-bluez-config.lua
|
||||
+++ wireplumber-0.4.17/src/config/bluetooth.lua.d/50-bluez-config.lua
|
||||
@@ -1,4 +1,4 @@
|
||||
-bluez_monitor.enabled = true
|
||||
+bluez_monitor.enabled = false
|
||||
|
||||
bluez_monitor.properties = {
|
||||
-- Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
|
||||
Index: wireplumber-0.4.17/src/config/bluetooth.lua.d/90-enable-all.lua
|
||||
===================================================================
|
||||
--- wireplumber-0.4.17.orig/src/config/bluetooth.lua.d/90-enable-all.lua
|
||||
+++ wireplumber-0.4.17/src/config/bluetooth.lua.d/90-enable-all.lua
|
||||
@@ -1,2 +1,4 @@
|
||||
+bluez_monitor.enabled = true
|
||||
+
|
||||
bluez_monitor.enable()
|
||||
bluez_midi_monitor.enable()
|
@ -1,48 +1,52 @@
|
||||
#!/usr/bin/python3
|
||||
import hashlib
|
||||
import sys
|
||||
import re
|
||||
|
||||
def sha256_from_data(data):
|
||||
hash_sha256 = hashlib.sha256()
|
||||
hash_sha256.update(data)
|
||||
return hash_sha256.hexdigest()
|
||||
|
||||
contents = open('90-enable-all.lua', 'r', encoding='utf-8').read()
|
||||
lines = open('wireplumber.conf', 'r', encoding='utf-8').readlines()
|
||||
|
||||
sha256sum = sha256_from_data(contents.encode('utf-8'))
|
||||
expected_sha256sum = '86888e9d3fcc952c41e778ab4edae4a0eb1f9f51b62ae0772befa9f0fdef611d'
|
||||
is_in_device_monitor = False
|
||||
main_config_content = ''
|
||||
device_monitors_content = ''
|
||||
main_profile_contents = ''
|
||||
|
||||
if sha256sum != expected_sha256sum:
|
||||
print('The script has to be updated for new changes in 90-enable-all.lua')
|
||||
print(f'File sha256sum: {sha256sum}')
|
||||
print(f'expected sha256sum: {expected_sha256sum}')
|
||||
sys.exit(1)
|
||||
|
||||
content_sections = contents.split('\n\n')
|
||||
|
||||
sections = ['enable-metadata',
|
||||
'default-access-policy',
|
||||
'load-devices',
|
||||
'track-user-choices-devices',
|
||||
'track-user-choices-streams',
|
||||
'link-nodes-by-roles',
|
||||
'suspend-idle-nodes',
|
||||
'allow-loading-objects-on-demand']
|
||||
|
||||
if len(content_sections) != len(sections):
|
||||
print('The script has to be updated for new changes in 90-enable-all.lua')
|
||||
sys.exit(1)
|
||||
|
||||
for i, (content, sec) in enumerate(zip(content_sections, sections)):
|
||||
if sec == 'load-devices':
|
||||
lines = content.split('\n')
|
||||
open(f'90-{i}-1-enable-alsa.lua', 'w',
|
||||
encoding='utf-8').write(lines[1])
|
||||
open(f'90-{i}-2-enable-v4l2.lua', 'w',
|
||||
encoding='utf-8').write(lines[2])
|
||||
open(f'90-{i}-3-enable-libcamera.lua', 'w',
|
||||
encoding='utf-8').write(lines[3])
|
||||
for line in lines:
|
||||
if re.match(' *## Device monitors$', line):
|
||||
main_config_content += line
|
||||
main_config_content += ' # Section moved to a device-monitors.conf file which is provided by the wireplumber-audio package\n\n'
|
||||
is_in_device_monitor = True
|
||||
continue
|
||||
elif re.match(' *## ', line):
|
||||
is_in_device_monitor = False
|
||||
|
||||
filename = f'90-{i}-{sec}.lua'
|
||||
open(filename, 'w', encoding='utf-8').write(content)
|
||||
if is_in_device_monitor:
|
||||
device_monitors_content += line
|
||||
else:
|
||||
# Fixes wireplumber running the main profile when not having audio support (bsc#1223916)
|
||||
if line in [' hardware.audio = required\n', ' hardware.bluetooth = required\n']:
|
||||
main_profile_contents += line
|
||||
line = line.replace('required', 'disabled')
|
||||
main_config_content += line
|
||||
|
||||
config_sha256 = sha256_from_data(device_monitors_content.encode('utf-8'))
|
||||
verified_sha256 = 'bf33d018e5b924da71266636757fa264bc677b945c35e4dcd7f708da42731cc9'
|
||||
if config_sha256 != verified_sha256:
|
||||
print('The "Device monitors" section was modified, please verify that the contents are ok')
|
||||
print('and if they are, modify the "verified_sha256" value in this script to')
|
||||
print(f' {config_sha256}')
|
||||
print('Current device monitors section is:')
|
||||
print(device_monitors_content)
|
||||
sys.exit(1)
|
||||
|
||||
device_monitors_content = 'wireplumber.components = [\n' + device_monitors_content + ']'
|
||||
main_profile_contents = 'wireplumber.profiles = {\n main = {\n' + main_profile_contents + ' }\n}\n'
|
||||
|
||||
|
||||
open('wireplumber.conf', 'w', encoding='utf-8').write(main_config_content)
|
||||
open('wireplumber.conf.d/00-device-monitors.conf', 'w', encoding='utf-8').write(device_monitors_content)
|
||||
open('wireplumber.conf.d/01-require-audio-in-main-profile.conf', 'w', encoding='utf-8').write(main_profile_contents)
|
||||
|
BIN
wireplumber-0.4.17.obscpio
(Stored with Git LFS)
BIN
wireplumber-0.4.17.obscpio
(Stored with Git LFS)
Binary file not shown.
BIN
wireplumber-0.5.6.obscpio
(Stored with Git LFS)
Normal file
BIN
wireplumber-0.5.6.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +1,525 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
name: wireplumber
|
||||
version: 0.4.17
|
||||
mtime: 1701626719
|
||||
commit: d3eb77b292655cef333a8f4cab4e861415bc37c2
|
||||
version: 0.5.6
|
||||
mtime: 1725559151
|
||||
commit: 141b2d5d3f793e20f94421c554d8d9c51143ce0d
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package wireplumber
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,13 +16,13 @@
|
||||
#
|
||||
|
||||
|
||||
%define pipewire_minimum_version 0.3.68
|
||||
%define apiver 0.4
|
||||
%define apiver_str 0_4
|
||||
%define pipewire_minimum_version 1.0.2
|
||||
%define apiver 0.5
|
||||
%define apiver_str 0_5
|
||||
%define sover 0
|
||||
%define libwireplumber libwireplumber-%{apiver_str}-%{sover}
|
||||
Name: wireplumber
|
||||
Version: 0.4.17
|
||||
Version: 0.5.6
|
||||
Release: 0
|
||||
Summary: Session / policy manager implementation for PipeWire
|
||||
License: MIT
|
||||
@ -30,8 +30,6 @@ Group: Development/Libraries/C and C++
|
||||
URL: https://gitlab.freedesktop.org/pipewire/wireplumber
|
||||
Source0: wireplumber-%{version}.tar.xz
|
||||
Source1: split-config-file.py
|
||||
# FIX-PATCH-SUSE fix-bsc1219411.patch alarrosa@suse.com -- Enable bluetooth only when audio support is enabled
|
||||
Patch0: fix-bsc1219411.patch
|
||||
# docs
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: graphviz
|
||||
@ -55,6 +53,9 @@ BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_minimum_version}
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(lua)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: python3-Sphinx
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-breathe
|
||||
#!BuildIgnore: pipewire-session-manager
|
||||
# Setup ALSA devices if PipeWire handles PulseAudio or JACK connections.
|
||||
Requires: (%{name}-audio if (pipewire-pulseaudio or pipewire-jack))
|
||||
@ -64,7 +65,7 @@ Provides: pipewire-session-manager
|
||||
BuildRequires: gcc9
|
||||
BuildRequires: gcc9-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: c++_compiler
|
||||
%endif
|
||||
%{?systemd_ordering}
|
||||
|
||||
@ -77,8 +78,17 @@ external tools for managing PipeWire.
|
||||
|
||||
%lang_package
|
||||
|
||||
%package doc
|
||||
Summary: Wireplumber Session / policy manager documentation
|
||||
Group: Development/Libraries/C and C++
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
This package contains documentation for the WirePlumber
|
||||
session/policy manager for PipeWire.
|
||||
|
||||
%package audio
|
||||
Summary: Session / policy manager implementation for PipeWire (audio support)
|
||||
Summary: Enable audio support in PipeWire / WirePlumber
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{libwireplumber} = %{version}
|
||||
Requires: %{name} = %{version}
|
||||
@ -140,6 +150,7 @@ Group: System/Shells
|
||||
Requires: %{name} = %{version}
|
||||
Requires: zsh
|
||||
Supplements: (wireplumber and zsh)
|
||||
BuildArch: noarch
|
||||
|
||||
%description zsh-completion
|
||||
Optional dependency offering zsh completion for various wpctl parameters.
|
||||
@ -147,17 +158,16 @@ Optional dependency offering zsh completion for various wpctl parameters.
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
pushd src/config/main.lua.d
|
||||
pushd src/config
|
||||
python3 %{SOURCE1}
|
||||
rm 90-enable-all.lua
|
||||
popd
|
||||
|
||||
%build
|
||||
%if %{pkg_vcmp gcc < 8}
|
||||
%if 0%{?suse_version} <= 1500
|
||||
export CC=gcc-9
|
||||
export CXX=g++-9
|
||||
%endif
|
||||
%meson -Ddoc=disabled \
|
||||
%meson -Ddoc=enabled \
|
||||
-Dsystem-lua=true \
|
||||
-Delogind=disabled
|
||||
%meson_build
|
||||
@ -216,31 +226,35 @@ fi
|
||||
%{_bindir}/wpctl
|
||||
%{_bindir}/wpexec
|
||||
%dir %{_libdir}/wireplumber-%{apiver}
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-dbus-connection.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-default-nodes-api.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-default-nodes.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-default-profile.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-file-monitor-api.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-log-settings.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-logind.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-lua-scripting.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-metadata.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-mixer-api.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-portal-permissionstore.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-reserve-device.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-settings.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-si-audio-adapter.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-si-audio-endpoint.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-si-node.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-si-standard-link.so
|
||||
%{_libdir}/wireplumber-%{apiver}/libwireplumber-module-standard-event-source.so
|
||||
|
||||
%{_userunitdir}/wireplumber.service
|
||||
%{_userunitdir}/wireplumber@.service
|
||||
%dir %{_datadir}/doc/wireplumber
|
||||
%dir %{_datadir}/doc/wireplumber/examples
|
||||
%{_datadir}/doc/wireplumber/examples/wireplumber.conf.d
|
||||
%{_datadir}/wireplumber
|
||||
%exclude %{_datadir}/wireplumber/main.lua.d/90-2-1-enable-alsa.lua
|
||||
%exclude %{_datadir}/wireplumber/bluetooth.lua.d/90-enable-all.lua
|
||||
%exclude %{_datadir}/wireplumber/wireplumber.conf.d/00-device-monitors.conf
|
||||
%exclude %{_datadir}/wireplumber/wireplumber.conf.d/01-require-audio-in-main-profile.conf
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%files audio
|
||||
%{_datadir}/wireplumber/main.lua.d/90-2-1-enable-alsa.lua
|
||||
%{_datadir}/wireplumber/bluetooth.lua.d/90-enable-all.lua
|
||||
%{_datadir}/wireplumber/wireplumber.conf.d/00-device-monitors.conf
|
||||
%{_datadir}/wireplumber/wireplumber.conf.d/01-require-audio-in-main-profile.conf
|
||||
|
||||
%files devel
|
||||
%{_includedir}/wireplumber-%{apiver}
|
||||
@ -248,6 +262,10 @@ fi
|
||||
%{_libdir}/pkgconfig/wireplumber-%{apiver}.pc
|
||||
%{_datadir}/gir-1.0/Wp-%{apiver}.gir
|
||||
|
||||
%files doc
|
||||
%{_datadir}/doc/wireplumber/html/
|
||||
%exclude %{_datadir}/doc/wireplumber/examples
|
||||
|
||||
%files -n typelib-1_0-Wp-%{apiver_str}
|
||||
%{_libdir}/girepository-1.0/Wp-%{apiver}.typelib
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user