diff --git a/src/modules/module-media-session/audio-dsp.c b/src/modules/module-media-session/audio-dsp.c index 991dd1eef..dfac74ec7 100644 --- a/src/modules/module-media-session/audio-dsp.c +++ b/src/modules/module-media-session/audio-dsp.c @@ -887,7 +887,7 @@ struct pw_node *pw_audio_dsp_new(struct pw_core *core, struct pw_node *node; struct node *n; struct port *p; - const char *api, *alias, *plugged; + const char *api, *alias, *plugged, *str; char node_name[128]; struct pw_properties *pr; int i; @@ -914,6 +914,8 @@ struct pw_node *pw_audio_dsp_new(struct pw_core *core, if ((plugged = pw_properties_get(props, "node.plugged")) != NULL) pw_properties_set(pr, "node.plugged", plugged); + if ((str = pw_properties_get(props, "node.id")) != NULL) + pw_properties_set(pr, "node.session", str); node = pw_node_new(core, node_name, pr, sizeof(struct node) + user_data_size); if (node == NULL) diff --git a/src/pipewire/node.c b/src/pipewire/node.c index a50abeff4..e4faf0ef0 100644 --- a/src/pipewire/node.c +++ b/src/pipewire/node.c @@ -377,6 +377,8 @@ int pw_node_register(struct pw_node *this, if ((str = pw_properties_get(this->properties, "media.class")) != NULL) pw_properties_set(properties, "media.class", str); pw_properties_set(properties, "node.name", this->info.name); + if ((str = pw_properties_get(this->properties, "node.session")) != NULL) + pw_properties_set(properties, "node.session", str); spa_list_append(&core->node_list, &this->link); this->registered = true; @@ -389,6 +391,7 @@ int pw_node_register(struct pw_node *this, return -ENOMEM; this->info.id = this->global->id; + pw_properties_setf(this->properties, "node.id", "%d", this->info.id); pw_node_initialized(this);