pulse-server: handle pulse.properties

Load properties from pulse.properties section so that they can have
overrides.
This commit is contained in:
Wim Taymans 2022-03-02 17:53:08 +01:00
parent 6c4d3a5158
commit 5a55e1a47a
2 changed files with 33 additions and 26 deletions

View file

@ -40,6 +40,34 @@ context.modules = [
{ name = libpipewire-module-protocol-pulse
args = {
# contents of pulse.properties can also be placed here
# to have config per server.
}
}
]
# Extra modules can be loaded here. Setup in default.pa can be moved here
context.exec = [
{ path = "pactl" args = "load-module module-always-sink" }
#{ path = "pactl" args = "load-module module-switch-on-connect" }
#{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" }
]
stream.properties = {
#node.latency = 1024/48000
#node.autoconnect = true
#resample.quality = 4
#channelmix.normalize = true
#channelmix.mix-lfe = false
#channelmix.upmix = false
#channelmix.lfe-cutoff = 0
#channelmix.fc-cutoff = 0
#channelmix.rear-delay = 12.0
#channelmix.stereo-widen = 0.0
#channelmix.hilbert-taps = 0
}
pulse.properties = {
# the addresses this server listens on
server.address = [
"unix:native"
@ -67,29 +95,6 @@ context.modules = [
pulse.min.quantum = 1024/48000 # 22ms
}
}
}
]
# Extra modules can be loaded here. Setup in default.pa can be moved here
context.exec = [
{ path = "pactl" args = "load-module module-always-sink" }
#{ path = "pactl" args = "load-module module-switch-on-connect" }
#{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" }
]
stream.properties = {
#node.latency = 1024/48000
#node.autoconnect = true
#resample.quality = 4
#channelmix.normalize = true
#channelmix.mix-lfe = false
#channelmix.upmix = false
#channelmix.lfe-cutoff = 0
#channelmix.fc-cutoff = 0
#channelmix.rear-delay = 12.0
#channelmix.stereo-widen = 0.0
#channelmix.hilbert-taps = 0
}
# client/stream specific properties
pulse.rules = [

View file

@ -5350,6 +5350,8 @@ struct pw_protocol_pulse *pw_protocol_pulse_new(struct pw_context *context,
support = pw_context_get_support(context, &n_support);
cpu = spa_support_find(support, n_support, SPA_TYPE_INTERFACE_CPU);
pw_context_conf_update_props(context, "pulse.properties", props);
if ((str = pw_properties_get(props, "vm.overrides")) != NULL) {
if (cpu != NULL && spa_cpu_get_vm_type(cpu) != SPA_CPU_VM_NONE)
pw_properties_update_string(props, str, strlen(str));