avrcp target: fix compile errors, draft get folder items

This commit is contained in:
Milanka Ringwald 2018-04-26 00:21:54 +02:00
parent 8ed86b4658
commit 8a51819492
4 changed files with 38 additions and 6 deletions

View File

@ -470,3 +470,12 @@ uint8_t avrcp_browsing_target_decline_incoming_connection(uint16_t avrcp_browsin
avrcp_connection->browsing_connection = NULL;
return ERROR_CODE_SUCCESS;
}
uint8_t avrcp_subevent_browsing_get_folder_items_response(uint16_t browsing_cid, uint8_t * attr_list, uint16_t attr_list_size){
UNUSED(browsing_cid);
UNUSED(attr_list);
UNUSED(attr_list_size);
return ERROR_CODE_SUCCESS;
}

View File

@ -102,6 +102,8 @@ uint8_t avrcp_browsing_target_decline_incoming_connection(uint16_t avrcp_browsin
*/
uint8_t avrcp_browsing_target_disconnect(uint16_t avrcp_browsing_cid);
uint8_t avrcp_subevent_browsing_get_folder_items_response(uint16_t browsing_cid, uint8_t * attr_list, uint16_t attr_list_size);
/* API_END */
#if defined __cplusplus

View File

@ -704,8 +704,8 @@ uint8_t avrcp_target_addressed_player_changed(uint16_t avrcp_cid, uint16_t playe
if (connection->notifications_enabled & (1 << AVRCP_NOTIFICATION_EVENT_ADDRESSED_PLAYER_CHANGED)) {
printf("send AVRCP_NOTIFICATION_EVENT_ADDRESSED_PLAYER_CHANGED\n");
// connection->addressed_player_changed = 1;
// connection->uid_counter = uid_counter;
// connection->addressed_player_id = player_id;
connection->uid_counter = uid_counter;
connection->addressed_player_id = player_id;
// avrcp_request_can_send_now(connection, connection->l2cap_signaling_cid);
}
return ERROR_CODE_SUCCESS;
@ -996,12 +996,12 @@ static void avrcp_handle_l2cap_data_packet_for_signaling_connection(avrcp_connec
}
}
#if 0
static int avrcp_target_send_addressed_player_changed_notification(uint16_t cid, avrcp_connection_t * connection, uint16_t uid, uint16_t uid_counter){
if (!connection){
log_error("avrcp tartget: could not find a connection.");
return ERROR_CODE_UNKNOWN_CONNECTION_IDENTIFIER;
}
printf("avrcp_target_send_addressed_player_changed_notification \n");
connection->command_opcode = AVRCP_CMD_OPCODE_VENDOR_DEPENDENT;
connection->command_type = AVRCP_CTYPE_RESPONSE_CHANGED_STABLE;
connection->subunit_type = AVRCP_SUBUNIT_TYPE_PANEL;
@ -1041,7 +1041,7 @@ static int avrcp_target_send_addressed_player_changed_notification(uint16_t cid,
connection->wait_to_send = 0;
return l2cap_send_prepared(cid, pos);
}
#endif
static int avrcp_target_send_notification(uint16_t cid, avrcp_connection_t * connection, uint8_t notification_id, uint8_t * value, uint16_t value_len){
if (!connection){

View File

@ -198,6 +198,11 @@ static const uint8_t subunit_info[] = {
7,7,7,7
};
static uint8_t media_player_list[] = {};
static uint8_t virtual_filesystem_list[] = {};
static uint8_t search_list[] = {};
static uint8_t now_playing_list[] = {};
static uint32_t company_id = 0x112233;
static uint8_t companies_num = 1;
static uint8_t companies[] = {
@ -547,10 +552,26 @@ static void avrcp_target_packet_handler(uint8_t packet_type, uint16_t channel, u
printf("AVRCP Browsing Client connected\n");
return;
}
case AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS:
case AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS:{
avrcp_browsing_scope_t scope = avrcp_subevent_browsing_get_folder_items_get_scope(packet);
switch (scope){
case AVRCP_BROWSING_MEDIA_PLAYER_LIST:
avrcp_subevent_browsing_get_folder_items_response(browsing_cid, media_player_list, sizeof(media_player_list));
break;
case AVRCP_BROWSING_MEDIA_PLAYER_VIRTUAL_FILESYSTEM:
avrcp_subevent_browsing_get_folder_items_response(browsing_cid, virtual_filesystem_list, sizeof(virtual_filesystem_list));
break;
case AVRCP_BROWSING_SEARCH:
avrcp_subevent_browsing_get_folder_items_response(browsing_cid, search_list, sizeof(search_list));
break;
case AVRCP_BROWSING_NOW_PLAYING:
avrcp_subevent_browsing_get_folder_items_response(browsing_cid, now_playing_list, sizeof(now_playing_list));
break;
}
printf(" AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS \n");
break;
}
case AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED:
printf("AVRCP Browsing Controller released\n");
browsing_cid = 0;