diff --git a/src/daemon/client-rt.conf.in b/src/daemon/client-rt.conf.in index 9f730e539..09a0e9307 100644 --- a/src/daemon/client-rt.conf.in +++ b/src/daemon/client-rt.conf.in @@ -63,3 +63,14 @@ context.modules = { # Provides factories to make session manager objects. libpipewire-module-session-manager = null } + +filter.properties = { + #node.latency = 1024/48000 +} + +stream.properties = { + #node.latency = 1024/48000 + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false +} diff --git a/src/daemon/client.conf.in b/src/daemon/client.conf.in index eea7a06a0..c97c6da0f 100644 --- a/src/daemon/client.conf.in +++ b/src/daemon/client.conf.in @@ -52,3 +52,14 @@ context.modules = { # Provides factories to make session manager objects. libpipewire-module-session-manager = null } + +filter.properties = { + #node.latency = 1024/48000 +} + +stream.properties = { + #node.latency = 1024/48000 + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false +} diff --git a/src/pipewire/filter.c b/src/pipewire/filter.c index 3e554de3c..0b178e55a 100644 --- a/src/pipewire/filter.c +++ b/src/pipewire/filter.c @@ -994,6 +994,8 @@ filter_new(struct pw_context *context, const char *name, res = -errno; goto error_properties; } + if ((str = pw_context_get_conf_section(context, "filter.properties")) != NULL) + pw_properties_update_string(props, str, strlen(str)); if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL && extra) { str = pw_properties_get(extra, PW_KEY_APP_NAME); diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index 7d33ba80c..d4d70a26a 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -1176,6 +1176,8 @@ stream_new(struct pw_context *context, const char *name, res = -errno; goto error_properties; } + if ((str = pw_context_get_conf_section(context, "stream.properties")) != NULL) + pw_properties_update_string(props, str, strlen(str)); if (pw_properties_get(props, PW_KEY_STREAM_IS_LIVE) == NULL) pw_properties_set(props, PW_KEY_STREAM_IS_LIVE, "true");