From faeb9f0bb87b9db45cebb6728a81fcde7a8fd17b Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 6 Mar 2014 14:55:57 +0200 Subject: [PATCH] android/arvrcp: Fix not parsing SDP record correctly --- android/avrcp.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/android/avrcp.c b/android/avrcp.c index d5eb31dae..911b1dfba 100644 --- a/android/avrcp.c +++ b/android/avrcp.c @@ -25,6 +25,7 @@ #include #endif +#include #include #include #include @@ -817,15 +818,22 @@ static void search_cb(sdp_list_t *recs, int err, gpointer data) for (list = recs; list; list = list->next) { sdp_record_t *rec = list->data; - sdp_data_t *data; + sdp_list_t *l; + sdp_profile_desc_t *desc; + int features; - data = sdp_data_get(rec, SDP_ATTR_VERSION); - if (data) - dev->version = data->val.uint16; + if (sdp_get_profile_descs(rec, &l) < 0) + continue; - data = sdp_data_get(rec, SDP_ATTR_SUPPORTED_FEATURES); - if (data) - dev->features = data->val.uint16; + desc = l->data; + dev->version = desc->version; + + if (sdp_get_int_attr(rec, SDP_ATTR_SUPPORTED_FEATURES, + &features) == 0) + dev->features = features; + + sdp_list_free(l, free); + break; } if (dev->io) { -- 2.47.3