diff --git a/audio/avrcp.c b/audio/avrcp.c
index 53c4e13..376f4a1 100644
--- a/audio/avrcp.c
+++ b/audio/avrcp.c
struct avctp *conn;
struct audio_device *dev;
struct avrcp_player *player;
+ uint16_t version;
+ int features;
unsigned int control_handler;
unsigned int browsing_handler;
session);
server->sessions = g_slist_append(server->sessions, session);
- break;
- case AVCTP_STATE_CONNECTED:
- if (session == NULL)
- break;
rec = btd_device_get_record(dev->btd_dev, AVRCP_TARGET_UUID);
if (rec == NULL)
return;
desc = list->data;
+ session->version = desc->version;
+ sdp_get_int_attr(rec, SDP_ATTR_SUPPORTED_FEATURES,
+ &session->features);
- if (desc && desc->version >= 0x0104) {
- int feat;
- int ret;
+ sdp_list_free(list, free);
- register_volume_notification(session);
+ break;
+ case AVCTP_STATE_CONNECTED:
+ if (session == NULL)
+ break;
- ret = sdp_get_int_attr(rec,
- SDP_ATTR_SUPPORTED_FEATURES,
- &feat);
- if (ret == 0 && (feat & AVRCP_FEATURE_BROWSING))
+ if (session->version >= 0x0104) {
+ register_volume_notification(session);
+ if (session->features & AVRCP_FEATURE_BROWSING)
avctp_connect_browsing(session->conn);
}
-
- sdp_list_free(list, free);
default:
return;
}