bluez5: backend-native: update HFP SDP records

Advertise SWB since we implement it.  Update HFP version to 1.9
accordingly.
This commit is contained in:
Pauli Virtanen 2024-10-30 18:48:45 +02:00 committed by Wim Taymans
parent 8d019c5689
commit c9acdd2f1f
2 changed files with 29 additions and 17 deletions

View file

@ -2538,6 +2538,9 @@ static int register_profile(struct impl *backend, const char *profile, const cha
/* We announce wideband speech support anyway */
features = SPA_BT_HFP_SDP_AG_FEATURE_WIDEBAND_SPEECH;
#ifdef HAVE_LC3
features |= SPA_BT_HFP_SDP_AG_FEATURE_SUPER_WIDEBAND_SPEECH;
#endif
dbus_message_iter_open_container(&it[1], DBUS_TYPE_DICT_ENTRY, NULL, &it[2]);
dbus_message_iter_append_basic(&it[2], DBUS_TYPE_STRING, &str);
dbus_message_iter_open_container(&it[2], DBUS_TYPE_VARIANT, "q", &it[3]);
@ -2545,9 +2548,9 @@ static int register_profile(struct impl *backend, const char *profile, const cha
dbus_message_iter_close_container(&it[2], &it[3]);
dbus_message_iter_close_container(&it[1], &it[2]);
/* HFP version 1.7 */
/* HFP version 1.9 */
str = "Version";
version = 0x0107;
version = 0x0109;
dbus_message_iter_open_container(&it[1], DBUS_TYPE_DICT_ENTRY, NULL, &it[2]);
dbus_message_iter_append_basic(&it[2], DBUS_TYPE_STRING, &str);
dbus_message_iter_open_container(&it[2], DBUS_TYPE_VARIANT, "q", &it[3]);
@ -2559,6 +2562,9 @@ static int register_profile(struct impl *backend, const char *profile, const cha
/* We announce wideband speech support anyway */
features = SPA_BT_HFP_SDP_HF_FEATURE_WIDEBAND_SPEECH;
#ifdef HAVE_LC3
features |= SPA_BT_HFP_SDP_HF_FEATURE_SUPER_WIDEBAND_SPEECH;
#endif
dbus_message_iter_open_container(&it[1], DBUS_TYPE_DICT_ENTRY, NULL, &it[2]);
dbus_message_iter_append_basic(&it[2], DBUS_TYPE_STRING, &str);
dbus_message_iter_open_container(&it[2], DBUS_TYPE_VARIANT, "q", &it[3]);
@ -2566,9 +2572,9 @@ static int register_profile(struct impl *backend, const char *profile, const cha
dbus_message_iter_close_container(&it[2], &it[3]);
dbus_message_iter_close_container(&it[1], &it[2]);
/* HFP version 1.7 */
/* HFP version 1.9 */
str = "Version";
version = 0x0107;
version = 0x0109;
dbus_message_iter_open_container(&it[1], DBUS_TYPE_DICT_ENTRY, NULL, &it[2]);
dbus_message_iter_append_basic(&it[2], DBUS_TYPE_STRING, &str);
dbus_message_iter_open_container(&it[2], DBUS_TYPE_VARIANT, "q", &it[3]);

View file

@ -252,13 +252,16 @@ enum spa_bt_hfp_ag_feature {
};
enum spa_bt_hfp_sdp_ag_features {
SPA_BT_HFP_SDP_AG_FEATURE_NONE = (0),
SPA_BT_HFP_SDP_AG_FEATURE_3WAY = (1 << 0),
SPA_BT_HFP_SDP_AG_FEATURE_ECNR = (1 << 1),
SPA_BT_HFP_SDP_AG_FEATURE_VOICE_RECOG = (1 << 2),
SPA_BT_HFP_SDP_AG_FEATURE_IN_BAND_RING_TONE = (1 << 3),
SPA_BT_HFP_SDP_AG_FEATURE_ATTACH_VOICE_TAG = (1 << 4),
SPA_BT_HFP_SDP_AG_FEATURE_WIDEBAND_SPEECH = (1 << 5),
SPA_BT_HFP_SDP_AG_FEATURE_NONE = (0),
SPA_BT_HFP_SDP_AG_FEATURE_3WAY = (1 << 0),
SPA_BT_HFP_SDP_AG_FEATURE_ECNR = (1 << 1),
SPA_BT_HFP_SDP_AG_FEATURE_VOICE_RECOG = (1 << 2),
SPA_BT_HFP_SDP_AG_FEATURE_IN_BAND_RING_TONE = (1 << 3),
SPA_BT_HFP_SDP_AG_FEATURE_ATTACH_VOICE_TAG = (1 << 4),
SPA_BT_HFP_SDP_AG_FEATURE_WIDEBAND_SPEECH = (1 << 5),
SPA_BT_HFP_SDP_AG_FEATURE_ENH_VOICE_RECOG_STATUS = (1 << 6),
SPA_BT_HFP_SDP_AG_FEATURE_VOICE_RECOG_TEXT = (1 << 7),
SPA_BT_HFP_SDP_AG_FEATURE_SUPER_WIDEBAND_SPEECH = (1 << 8),
};
enum spa_bt_hfp_hf_feature {
@ -299,13 +302,16 @@ enum spa_bt_hfp_hf_xapl_features {
};
enum spa_bt_hfp_sdp_hf_features {
SPA_BT_HFP_SDP_HF_FEATURE_NONE = (0),
SPA_BT_HFP_SDP_HF_FEATURE_ECNR = (1 << 0),
SPA_BT_HFP_SDP_HF_FEATURE_3WAY = (1 << 1),
SPA_BT_HFP_SDP_HF_FEATURE_CLIP = (1 << 2),
SPA_BT_HFP_SDP_HF_FEATURE_VOICE_RECOGNITION = (1 << 3),
SPA_BT_HFP_SDP_HF_FEATURE_NONE = (0),
SPA_BT_HFP_SDP_HF_FEATURE_ECNR = (1 << 0),
SPA_BT_HFP_SDP_HF_FEATURE_3WAY = (1 << 1),
SPA_BT_HFP_SDP_HF_FEATURE_CLIP = (1 << 2),
SPA_BT_HFP_SDP_HF_FEATURE_VOICE_RECOGNITION = (1 << 3),
SPA_BT_HFP_SDP_HF_FEATURE_REMOTE_VOLUME_CONTROL = (1 << 4),
SPA_BT_HFP_SDP_HF_FEATURE_WIDEBAND_SPEECH = (1 << 5),
SPA_BT_HFP_SDP_HF_FEATURE_WIDEBAND_SPEECH = (1 << 5),
SPA_BT_HFP_SDP_HF_FEATURE_ENH_VOICE_RECOG_STATUS = (1 << 6),
SPA_BT_HFP_SDP_HF_FEATURE_VOICE_RECOG_TEXT = (1 << 7),
SPA_BT_HFP_SDP_HF_FEATURE_SUPER_WIDEBAND_SPEECH = (1 << 8),
};
static inline const char *spa_bt_profile_name (enum spa_bt_profile profile) {