From 3dfbc6b61c3cf354273dcfd61497c957fcbf4ebf 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 7cce66b0b..b55dd5ee8 100644 --- a/src/modules/module-jack-tunnel.c +++ b/src/modules/module-jack-tunnel.c @@ -1113,11 +1113,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 011052e7b..19512b034 100644 --- a/src/modules/module-netjack2-driver.c +++ b/src/modules/module-netjack2-driver.c @@ -1316,9 +1316,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;