summaryrefslogtreecommitdiffstats
path: root/stack/avrc/avrc_pars_tg.c
diff options
context:
space:
mode:
Diffstat (limited to 'stack/avrc/avrc_pars_tg.c')
-rw-r--r--stack/avrc/avrc_pars_tg.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/stack/avrc/avrc_pars_tg.c b/stack/avrc/avrc_pars_tg.c
index 6e39c1c5a..b75ee907c 100644
--- a/stack/avrc/avrc_pars_tg.c
+++ b/stack/avrc/avrc_pars_tg.c
@@ -267,7 +267,31 @@ static tAVRC_STS avrc_pars_vendor_cmd(tAVRC_MSG_VENDOR *p_msg, tAVRC_COMMAND *p_
/* case AVRC_PDU_REQUEST_CONTINUATION_RSP: 0x40 */
/* case AVRC_PDU_ABORT_CONTINUATION_RSP: 0x41 */
+ case AVRC_PDU_SET_ADDRESSED_PLAYER:
+ if (len != 2)
+ {
+ status = AVRC_STS_NOT_FOUND;
+ AVRC_TRACE_ERROR("AVRC_PDU_SET_ADDRESSED_PLAYER: bad len");
+ }
+ else
+ {
+ BE_STREAM_TO_UINT16 (p_result->addr_player.player_id, p);
+ }
+ break;
+ case AVRC_PDU_PLAY_ITEM:
+ if (len != 11)
+ {
+ status = AVRC_STS_NOT_FOUND;
+ AVRC_TRACE_ERROR("AVRC_PDU_PLAY_ITEM: bad len");
+ }
+ else
+ {
+ BE_STREAM_TO_UINT8 (p_result->play_item.scope, p);
+ BE_STREAM_TO_UINT64(p_result->play_item.uid, p);
+ BE_STREAM_TO_UINT16 (p_result->play_item.uid_counter, p);
+ }
+ break;
default:
status = AVRC_STS_BAD_CMD;
break;