diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2024-09-04 16:11:54 +0300 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2024-09-06 14:11:58 +0000 |
commit | 5dd43491b6e44664ad1d2e2fb596b6cb248c88fb (patch) | |
tree | 62dd01a63b90478ba8cb5034ce0f3f9a2e0613b2 /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf | |
parent | 210cd32190b72bcad81520e5ad153bc489ea8741 (diff) |
meta-pipewire: update wireplumber to 0.5.6
- use the wireplumber recipe from meta-openembedded (albeit copied
here with the version changed, because 0.5.6 is not available in
meta-openembedded)
- rewrite configuration files as needed for 0.5.x
- configure wireplumber with the main service masked, using only the
template service files for a split-instance configuration.
split-instance facilitates the multi-container setup that is used
in the instrument cluster images.
Bug-AGL: SPEC-4934
Change-Id: Ica83f869cdc9527a9edce25e63918a2ba97a4766
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30243
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf')
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf new file mode 100644 index 000000000..061eae96c --- /dev/null +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/50-AGL-equalizer.conf @@ -0,0 +1,75 @@ +wireplumber.profiles = { + policy = { + agl.filter.equalizer-sink = required + } +} + +wireplumber.components = [ + { + name = libpipewire-module-filter-chain, type = pw-module + arguments = { + node.description = "Equalizer Sink" + media.name = "Equalizer Sink" + filter.graph = { + nodes = [ + { + type = builtin + name = bass + label = bq_lowshelf + # the cut off freq of the bass filter can be adjusted here. + control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 0.0 } + } + { + type = builtin + name = treble + label = bq_peaking + # the cut off freq of the treble filter can be adjusted here. + control = { "Freq" = 6000.0 "Q" = 1.0 "Gain" = 0.0 } + } + ] + links = [ + { output = "bass:Out" input = "treble:In" } + ] + } + audio.channels = 2 + audio.position = [ FL FR ] + capture.props = { + node.name = "eq-sink" + + # this is a sink filter, so it will appear as a sink in wpctl/pactl/etc, + # it will target a sink and can be chained with other sink smart filters + media.class = Audio/Sink + + # treat this as a smart filter + filter.smart = true + + # the unique name of the filter + filter.smart.name = "agl.filter.equalizer-sink" + + ## set this to always link the filter to a particular sink + ## or leave it unset in order to follow the default sink + #filter.smart.target = { node.name = "alsa_output.pci-0000_00_01.0.analog-stereo" } + + ## here you can specify filter dependencies, using their names + ## (filter.smart.name) if you set up many of them to be linked in a chain + #filter.smart.before = [] + #filter.smart.after = [] + } + playback.props = { + node.name = "eq-output-stream" + + # This must be set to ensure that the real audio sink is suspended + # when there is no active client stream linked + node.passive = true + + # Set this to avoid linking the filter to role-based sinks when + # role-based sinks are defined and node.stream.default-media-role is + # configured in the settings + media.role = "DSP" + } + } + provides = agl.filter.equalizer-sink + requires = [ pw.node-factory.adapter ] + after = [ support.standard-event-source ] + } +] |