From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> --- android/hal-avrcp.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/android/hal-avrcp.c b/android/hal-avrcp.c index 9937a11..244f77a 100644 --- a/android/hal-avrcp.c +++ b/android/hal-avrcp.c @@ -18,6 +18,7 @@ #include <stdbool.h> #include <stddef.h> #include <string.h> +#include <stdlib.h> #include "hal-log.h" #include "hal.h" @@ -74,6 +75,36 @@ static bt_status_t get_play_status_rsp(btrc_play_status_t status, sizeof(cmd), &cmd, 0, NULL, NULL); } +static bt_status_t list_player_app_attr_rsp(int num_attr, + btrc_player_attr_t *p_attrs) +{ + struct hal_cmd_avrcp_list_player_attrs *cmd; + bt_status_t status; + size_t len; + + DBG(""); + + if (!interface_ready()) + return BT_STATUS_NOT_READY; + + if (num_attr < 0) + return BT_STATUS_PARM_INVALID; + + len = sizeof(*cmd) + num_attr; + cmd = malloc(len); + + cmd->number = num_attr; + memcpy(cmd->attrs, p_attrs, num_attr); + + status = hal_ipc_cmd(HAL_SERVICE_ID_AVRCP, + HAL_OP_AVRCP_LIST_PLAYER_ATTRS, + len, cmd, 0, NULL, NULL); + + free(cmd); + + return status; +} + static void cleanup() { struct hal_cmd_unregister_module cmd; @@ -97,6 +128,7 @@ static btrc_interface_t iface = { .size = sizeof(iface), .init = init, .get_play_status_rsp = get_play_status_rsp, + .list_player_app_attr_rsp = list_player_app_attr_rsp, .cleanup = cleanup }; -- 1.8.5.3 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html