From ab70dae0a81261141df37eecb6d5b978b4d2e004 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 16 Feb 2026 10:36:29 +0100 Subject: [PATCH] modules: add PRIORITY_SESSION For driver nodes, priority.session is needed to be able to change the default device. Fixes #5125 --- src/modules/module-jack-tunnel.c | 2 ++ src/modules/module-netjack2-driver.c | 2 ++ src/modules/module-protocol-pulse/modules/module-pipe-source.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/modules/module-jack-tunnel.c b/src/modules/module-jack-tunnel.c index 760da1669..0c0cee034 100644 --- a/src/modules/module-jack-tunnel.c +++ b/src/modules/module-jack-tunnel.c @@ -1157,11 +1157,13 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) pw_properties_set(impl->sink.props, PW_KEY_MEDIA_CLASS, "Audio/Sink"); pw_properties_set(impl->sink.props, PW_KEY_PRIORITY_DRIVER, "30001"); + pw_properties_set(impl->sink.props, PW_KEY_PRIORITY_SESSION, "2001"); pw_properties_set(impl->sink.props, PW_KEY_NODE_NAME, "jack_sink"); pw_properties_set(impl->sink.props, PW_KEY_NODE_DESCRIPTION, "JACK Sink"); pw_properties_set(impl->source.props, PW_KEY_MEDIA_CLASS, "Audio/Source"); pw_properties_set(impl->source.props, PW_KEY_PRIORITY_DRIVER, "30000"); + pw_properties_set(impl->source.props, PW_KEY_PRIORITY_SESSION, "2000"); pw_properties_set(impl->source.props, PW_KEY_NODE_NAME, "jack_source"); pw_properties_set(impl->source.props, PW_KEY_NODE_DESCRIPTION, "JACK Source"); diff --git a/src/modules/module-netjack2-driver.c b/src/modules/module-netjack2-driver.c index 07a756266..ca4e70195 100644 --- a/src/modules/module-netjack2-driver.c +++ b/src/modules/module-netjack2-driver.c @@ -1319,9 +1319,11 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) pw_properties_set(props, PW_KEY_NODE_ALWAYS_PROCESS, "true"); pw_properties_set(impl->sink.props, PW_KEY_PRIORITY_DRIVER, "40000"); + pw_properties_set(impl->sink.props, PW_KEY_PRIORITY_SESSION, "2000"); pw_properties_set(impl->sink.props, PW_KEY_NODE_NAME, "netjack2_driver_send"); pw_properties_set(impl->source.props, PW_KEY_PRIORITY_DRIVER, "40001"); + pw_properties_set(impl->source.props, PW_KEY_PRIORITY_SESSION, "2001"); pw_properties_set(impl->source.props, PW_KEY_NODE_NAME, "netjack2_driver_receive"); if ((str = pw_properties_get(props, "sink.props")) != NULL) diff --git a/src/modules/module-protocol-pulse/modules/module-pipe-source.c b/src/modules/module-protocol-pulse/modules/module-pipe-source.c index c9c31f106..ff44f3c38 100644 --- a/src/modules/module-protocol-pulse/modules/module-pipe-source.c +++ b/src/modules/module-protocol-pulse/modules/module-pipe-source.c @@ -172,6 +172,8 @@ static int module_pipe_source_prepare(struct module * const module) pw_properties_set(stream_props, PW_KEY_NODE_DRIVER, "true"); if ((str = pw_properties_get(stream_props, PW_KEY_PRIORITY_DRIVER)) == NULL) pw_properties_set(stream_props, PW_KEY_PRIORITY_DRIVER, "50000"); + if ((str = pw_properties_get(stream_props, PW_KEY_PRIORITY_SESSION)) == NULL) + pw_properties_set(stream_props, PW_KEY_PRIORITY_SESSION, "2000"); d->module = module; d->stream_props = stream_props;