diff --git a/audio/avrcp.c b/audio/avrcp.c
index 131490f..a040099 100644
--- a/audio/avrcp.c
+++ b/audio/avrcp.c
IEEEID_BTSIG,
};
+static void register_volume_notification(struct avrcp_player *player);
+
static sdp_record_t *avrcp_ct_record(void)
{
sdp_list_t *svclass_id, *pfseq, *apseq, *root;
struct avrcp_header *pdu = (void *) operands;
uint8_t volume;
- if (code == AVC_CTYPE_REJECTED || code == AVC_CTYPE_NOT_IMPLEMENTED)
+ if (code != AVC_CTYPE_INTERIM && code != AVC_CTYPE_CHANGED)
return FALSE;
volume = pdu->params[1] & 0x7F;
player->cb->set_volume(volume, player->dev, player->user_data);
+ if (code == AVC_CTYPE_CHANGED) {
+ register_volume_notification(player);
+ return FALSE;
+ }
+
return TRUE;
}