diff --git a/src/modules/module-echo-cancel.c b/src/modules/module-echo-cancel.c index b0cf33063..424f29afe 100644 --- a/src/modules/module-echo-cancel.c +++ b/src/modules/module-echo-cancel.c @@ -153,8 +153,6 @@ struct impl { struct pw_impl_module *module; struct spa_hook module_listener; - uint32_t id; - struct pw_core *core; struct spa_hook core_proxy_listener; struct spa_hook core_listener; @@ -851,6 +849,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) struct pw_properties *props, *aec_props; struct impl *impl; uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); const char *str; const char *path; int res = 0; @@ -883,14 +882,13 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) goto error; } - impl->id = id; impl->module = module; impl->context = context; if (pw_properties_get(props, PW_KEY_NODE_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_GROUP, "echo-cancel-%u", id); + pw_properties_setf(props, PW_KEY_NODE_GROUP, "echo-cancel-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_LINK_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "echo-cancel-%u", id); + pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "echo-cancel-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL) pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true"); diff --git a/src/modules/module-example-sink.c b/src/modules/module-example-sink.c index 0f844435f..9defba166 100644 --- a/src/modules/module-example-sink.c +++ b/src/modules/module-example-sink.c @@ -366,6 +366,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) struct pw_context *context = pw_impl_module_get_context(module); struct pw_properties *props = NULL; uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); struct impl *impl; const char *str; int res; @@ -409,7 +410,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Sink"); if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL) - pw_properties_setf(props, PW_KEY_NODE_NAME, "example-sink-%u", id); + pw_properties_setf(props, PW_KEY_NODE_NAME, "example-sink-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL) pw_properties_set(props, PW_KEY_NODE_DESCRIPTION, pw_properties_get(props, PW_KEY_NODE_NAME)); diff --git a/src/modules/module-example-source.c b/src/modules/module-example-source.c index 21d8dcfeb..e1487a6c8 100644 --- a/src/modules/module-example-source.c +++ b/src/modules/module-example-source.c @@ -371,6 +371,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) { struct pw_context *context = pw_impl_module_get_context(module); uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); struct pw_properties *props = NULL; struct impl *impl; const char *str; @@ -415,7 +416,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Source"); if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL) - pw_properties_setf(props, PW_KEY_NODE_NAME, "example-source-%u", id); + pw_properties_setf(props, PW_KEY_NODE_NAME, "example-source-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL) pw_properties_set(props, PW_KEY_NODE_DESCRIPTION, pw_properties_get(props, PW_KEY_NODE_NAME)); diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c index 55446c928..143204186 100644 --- a/src/modules/module-filter-chain.c +++ b/src/modules/module-filter-chain.c @@ -1725,6 +1725,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) struct pw_properties *props; struct impl *impl; uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); const char *str; int res; @@ -1763,14 +1764,13 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) spa_list_init(&impl->plugin_list); if (pw_properties_get(props, PW_KEY_NODE_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_GROUP, "filter-chain-%u", id); + pw_properties_setf(props, PW_KEY_NODE_GROUP, "filter-chain-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_LINK_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "filter-chain-%u", id); + pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "filter-chain-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL) pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true"); - if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL) - pw_properties_setf(props, PW_KEY_NODE_DESCRIPTION, "filter-chain-%u", id); + pw_properties_setf(props, PW_KEY_NODE_DESCRIPTION, "filter-chain-%u-%u", pid, id); if ((str = pw_properties_get(props, "capture.props")) != NULL) pw_properties_update_string(impl->capture_props, str, strlen(str)); @@ -1792,10 +1792,10 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) if (pw_properties_get(impl->capture_props, PW_KEY_NODE_NAME) == NULL) pw_properties_setf(impl->capture_props, PW_KEY_NODE_NAME, - "input.filter-chain-%u", id); + "input.filter-chain-%u-%u", pid, id); if (pw_properties_get(impl->playback_props, PW_KEY_NODE_NAME) == NULL) pw_properties_setf(impl->playback_props, PW_KEY_NODE_NAME, - "output.filter-chain-%u", id); + "output.filter-chain-%u-%u", pid, id); if (pw_properties_get(impl->capture_props, PW_KEY_MEDIA_NAME) == NULL) pw_properties_setf(impl->capture_props, PW_KEY_MEDIA_NAME, "%s input", diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c index 51a0d1bfc..d340fee0a 100644 --- a/src/modules/module-loopback.c +++ b/src/modules/module-loopback.c @@ -398,6 +398,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) struct pw_properties *props; struct impl *impl; uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); const char *str; int res; @@ -431,15 +432,15 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) impl->context = context; if (pw_properties_get(props, PW_KEY_NODE_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_GROUP, "loopback-%u", id); + pw_properties_setf(props, PW_KEY_NODE_GROUP, "loopback-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_LINK_GROUP) == NULL) - pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "loopback-%u", id); + pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "loopback-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL) pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true"); if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL) pw_properties_setf(props, PW_KEY_NODE_DESCRIPTION, - "loopback-%u", id); + "loopback-%u-%u", pid, id); if ((str = pw_properties_get(props, "capture.props")) != NULL) pw_properties_update_string(impl->capture_props, str, strlen(str)); @@ -458,10 +459,10 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) if (pw_properties_get(impl->capture_props, PW_KEY_NODE_NAME) == NULL) pw_properties_setf(impl->capture_props, PW_KEY_NODE_NAME, - "input.loopback-%u", id); + "input.loopback-%u-%u", pid, id); if (pw_properties_get(impl->playback_props, PW_KEY_NODE_NAME) == NULL) pw_properties_setf(impl->playback_props, PW_KEY_NODE_NAME, - "output.loopback-%u", id); + "output.loopback-%u-%u", pid, id); parse_audio_info(impl->capture_props, &impl->capture_info); parse_audio_info(impl->playback_props, &impl->playback_info); diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c index 7c42abbe1..847e231e9 100644 --- a/src/modules/module-raop-sink.c +++ b/src/modules/module-raop-sink.c @@ -1541,6 +1541,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) struct pw_context *context = pw_impl_module_get_context(module); struct pw_properties *props = NULL; uint32_t id = pw_global_get_id(pw_impl_module_get_global(module)); + uint32_t pid = getpid(); struct impl *impl; const char *str; int res; @@ -1587,7 +1588,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Sink"); if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL) - pw_properties_setf(props, PW_KEY_NODE_NAME, "raop-sink-%u", id); + pw_properties_setf(props, PW_KEY_NODE_NAME, "raop-sink-%u-%u", pid, id); if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL) pw_properties_set(props, PW_KEY_NODE_DESCRIPTION, pw_properties_get(props, PW_KEY_NODE_NAME));