diff --git a/audio/avrcp.c b/audio/avrcp.c
index b1c3d54..5f8277c 100644
--- a/audio/avrcp.c
+++ b/audio/avrcp.c
uint16_t len = ntohs(pdu->params_len);
uint32_t position;
uint32_t duration;
+ void *pduration;
if (len != 0) {
pdu->params_len = htons(1);
}
position = player->cb->get_position(player->user_data);
- duration = GPOINTER_TO_UINT(player->cb->get_metadata(
- AVRCP_MEDIA_ATTRIBUTE_DURATION,
- player->user_data));
+ pduration = player->cb->get_metadata(AVRCP_MEDIA_ATTRIBUTE_DURATION,
+ player->user_data);
+ if (pduration != NULL)
+ duration = htonl(GPOINTER_TO_UINT(pduration));
+ else
+ duration = htonl(UINT32_MAX);
- duration = htonl(duration);
position = htonl(position);
memcpy(&pdu->params[0], &duration, 4);