diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
index 94cb922..cc905ac 100644
--- a/profiles/audio/avrcp.c
+++ b/profiles/audio/avrcp.c
static sdp_record_t *avrcp_ct_record(void)
{
- sdp_list_t *svclass_id, *pfseq, *apseq, *root;
+ sdp_list_t *svclass_id, *pfseq, *apseq, *apseq1, *root;
uuid_t root_uuid, l2cap, avctp, avrct;
sdp_profile_desc_t profile[1];
- sdp_list_t *aproto, *proto[2];
+ sdp_list_t *aproto, *aproto1, *proto[2], *proto1[2];
sdp_record_t *record;
sdp_data_t *psm, *version, *features;
- uint16_t lp = AVCTP_CONTROL_PSM;
+ uint16_t lp = AVCTP_CONTROL_PSM, ap = AVCTP_BROWSING_PSM;
uint16_t avrcp_ver = 0x0105, avctp_ver = 0x0103;
uint16_t feat = ( AVRCP_FEATURE_CATEGORY_1 |
AVRCP_FEATURE_CATEGORY_2 |
aproto = sdp_list_append(0, apseq);
sdp_set_access_protos(record, aproto);
+ /* Additional Protocol Descriptor List */
+ sdp_uuid16_create(&l2cap, L2CAP_UUID);
+ proto1[0] = sdp_list_append(0, &l2cap);
+ psm = sdp_data_alloc(SDP_UINT16, &ap);
+ proto1[0] = sdp_list_append(proto1[0], psm);
+ apseq1 = sdp_list_append(0, proto1[0]);
+
+ sdp_uuid16_create(&avctp, AVCTP_UUID);
+ proto1[1] = sdp_list_append(0, &avctp);
+ proto1[1] = sdp_list_append(proto1[1], version);
+ apseq1 = sdp_list_append(apseq1, proto1[1]);
+
+ aproto1 = sdp_list_append(0, apseq1);
+ sdp_set_add_access_protos(record, aproto1);
+
/* Bluetooth Profile Descriptor List */
sdp_uuid16_create(&profile[0].uuid, AV_REMOTE_PROFILE_ID);
profile[0].version = avrcp_ver;
sdp_list_free(proto[0], 0);
sdp_list_free(proto[1], 0);
sdp_list_free(apseq, 0);
+ sdp_list_free(proto1[0], 0);
+ sdp_list_free(proto1[1], 0);
+ sdp_list_free(apseq1, 0);
sdp_list_free(pfseq, 0);
sdp_list_free(aproto, 0);
sdp_list_free(root, 0);