From df1dbee687c819095a6fddce3b24943f9ac47dbc Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Sun, 14 Feb 2021 14:27:58 +0200 Subject: [PATCH] bluez5: include a2dp codec profiles in route profiles --- spa/plugins/bluez5/bluez5-device.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spa/plugins/bluez5/bluez5-device.c b/spa/plugins/bluez5/bluez5-device.c index 84c1fa6c2..9e42d9d99 100644 --- a/spa/plugins/bluez5/bluez5-device.c +++ b/spa/plugins/bluez5/bluez5-device.c @@ -666,8 +666,9 @@ static struct spa_pod *build_route(struct impl *this, struct spa_pod_builder *b, const char *name_prefix, *description, *port_type; enum spa_param_availability available; enum spa_bt_form_factor ff; + const struct a2dp_codec *codec; char name[128]; - uint32_t i, mask; + uint32_t i, j, mask; ff = spa_bt_form_factor_from_class(device->bluetooth_class); @@ -769,10 +770,9 @@ static struct spa_pod *build_route(struct impl *this, struct spa_pod_builder *b, spa_pod_builder_pop(b, &f[1]); spa_pod_builder_prop(b, SPA_PARAM_ROUTE_profiles, 0); spa_pod_builder_push_array(b, &f[1]); - for (i = 1; i < 3; i++) { - if (profile_direction_mask(this, i) & (1 << direction)) + for (i = 1; (j = get_profile_from_index(this, i, &codec)) != SPA_ID_INVALID; i++) + if (profile_direction_mask(this, j) & (1 << direction)) spa_pod_builder_int(b, i); - } spa_pod_builder_pop(b, &f[1]); if (dev != SPA_ID_INVALID) {