diff --git a/src/examples/media-session/bluez-monitor.c b/src/examples/media-session/bluez-monitor.c index 1b04134db..b2353a44c 100644 --- a/src/examples/media-session/bluez-monitor.c +++ b/src/examples/media-session/bluez-monitor.c @@ -201,6 +201,7 @@ static void bluez5_remove_node(struct device *device, struct node *node) { pw_log_debug("remove node %u", node->id); spa_list_remove(&node->link); + sm_object_destroy(&node->snode->obj); pw_impl_node_destroy(node->adapter); pw_properties_free(node->props); free(node); diff --git a/src/examples/media-session/media-session.c b/src/examples/media-session/media-session.c index 60c03c04a..6926169d0 100644 --- a/src/examples/media-session/media-session.c +++ b/src/examples/media-session/media-session.c @@ -44,6 +44,7 @@ #include "pipewire/pipewire.h" #include "pipewire/private.h" #include "extensions/session-manager.h" +#include "extensions/client-node.h" #include @@ -1066,6 +1067,9 @@ create_object(struct impl *impl, struct pw_proxy *proxy, struct pw_proxy *handle type = pw_proxy_get_type(handle, NULL); + if (strcmp(type, PW_TYPE_INTERFACE_ClientNode) == 0) + type = PW_TYPE_INTERFACE_Node; + info = get_object_info(impl, type); if (info == NULL) { pw_log_error(NAME" %p: unknown object type %s", impl, type);