diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index 59878c4a9..dfd7718a7 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -1981,18 +1981,26 @@ static void registry_event_global(void *data, uint32_t id, return; if (strcmp(type, PW_TYPE_INTERFACE_Node) == 0) { + const char *app; + o = alloc_object(c); object_type = INTERFACE_Node; if ((str = spa_dict_lookup(props, PW_KEY_CLIENT_ID)) != NULL) o->node.client_id = atoi(str); + app = spa_dict_lookup(props, PW_KEY_APP_NAME); + if ((str = spa_dict_lookup(props, PW_KEY_NODE_DESCRIPTION)) == NULL && (str = spa_dict_lookup(props, PW_KEY_NODE_NICK)) == NULL && (str = spa_dict_lookup(props, PW_KEY_NODE_NAME)) == NULL) { str = "node"; } - snprintf(o->node.name, sizeof(o->node.name), "%s", str); + if (app) + snprintf(o->node.name, sizeof(o->node.name), "%s:%s", app, str); + else + snprintf(o->node.name, sizeof(o->node.name), "%s", str); + ot = find_node(c, o->node.name); if (ot != NULL && o->node.client_id != ot->node.client_id) snprintf(o->node.name, sizeof(o->node.name), "%s-%d", str, id); diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index e4b83bb4c..fe8b3791f 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -617,6 +617,7 @@ int pw_impl_node_register(struct pw_impl_node *this, PW_KEY_DEVICE_ID, PW_KEY_PRIORITY_SESSION, PW_KEY_PRIORITY_MASTER, + PW_KEY_APP_NAME, PW_KEY_NODE_DESCRIPTION, PW_KEY_NODE_NAME, PW_KEY_NODE_NICK,