From 70b683a8ac9747747524ceba662e809ae62c3e8b Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 14 Mar 2014 10:53:30 +0200 Subject: [PATCH] android/avrcp-lib: Add support for parsing ListPlayerAttributes PDU --- android/avrcp-lib.c | 18 ++++++++++++++++++ android/avrcp-lib.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c index f4eaaa222..07552f934 100644 --- a/android/avrcp-lib.c +++ b/android/avrcp-lib.c @@ -285,10 +285,28 @@ static ssize_t get_capabilities(struct avrcp *session, uint8_t transaction, return -EINVAL; } +static ssize_t list_attributes(struct avrcp *session, uint8_t transaction, + uint16_t params_len, uint8_t *params, + void *user_data) +{ + struct avrcp_player *player = user_data; + + DBG(""); + + if (!player->ind || !player->ind->list_attributes) + return -ENOSYS; + + return player->ind->list_attributes(session, transaction, + player->user_data); +} + static const struct avrcp_control_handler player_handlers[] = { { AVRCP_GET_CAPABILITIES, AVC_CTYPE_STATUS, AVC_CTYPE_STABLE, get_capabilities }, + { AVRCP_LIST_PLAYER_ATTRIBUTES, + AVC_CTYPE_STATUS, AVC_CTYPE_STABLE, + list_attributes }, { }, }; diff --git a/android/avrcp-lib.h b/android/avrcp-lib.h index 34c88c50d..004336207 100644 --- a/android/avrcp-lib.h +++ b/android/avrcp-lib.h @@ -103,6 +103,8 @@ struct avrcp_control_handler { struct avrcp_control_ind { int (*get_capabilities) (struct avrcp *session, uint8_t transaction, void *user_data); + int (*list_attributes) (struct avrcp *session, uint8_t transaction, + void *user_data); }; struct avrcp_control_cfm { -- 2.47.3