From f44d00424f3cb363efbc8b092630c4723a8f51f3 Mon Sep 17 00:00:00 2001 From: Huang-Huang Bao Date: Thu, 22 Apr 2021 06:52:47 +0800 Subject: [PATCH] bluez5: don't clear dynamic node flag from node id in volume changed handler It causes transport state handler don't emit node removing info. Fixes #1080. --- spa/plugins/bluez5/bluez5-device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spa/plugins/bluez5/bluez5-device.c b/spa/plugins/bluez5/bluez5-device.c index 8af885fd7..183a0934c 100644 --- a/spa/plugins/bluez5/bluez5-device.c +++ b/spa/plugins/bluez5/bluez5-device.c @@ -442,7 +442,9 @@ static void dynamic_node_volume_changed(void *data) struct spa_pod_builder b = { 0 }; struct spa_pod_frame f[1]; struct spa_bt_transport_volume *t_volume; - int id = SPA_FLAG_CLEAR(node->id, DYNAMIC_NODE_ID_FLAG), volume_id; + int id = node->id, volume_id; + + SPA_FLAG_CLEAR(id, DYNAMIC_NODE_ID_FLAG); /* Remote device is the controller */ if (!node->transport || impl->profile != DEVICE_PROFILE_AG