From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Using UINT32_MAX overflow in Android implementation as it multiple the value by 1000 to get the interval in miliseconds which seem to truncate the value causing it to send position changed too frequently flooding the channel. --- profiles/audio/avrcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c index 245b3fc..60f8cbf 100644 --- a/profiles/audio/avrcp.c +++ b/profiles/audio/avrcp.c @@ -3228,7 +3228,7 @@ static void avrcp_register_notification(struct avrcp *session, uint8_t event) * use it to resync. */ if (event == AVRCP_EVENT_PLAYBACK_POS_CHANGED) - bt_put_be32(UINT32_MAX, &pdu->params[1]); + bt_put_be32(UINT32_MAX / 1000, &pdu->params[1]); pdu->params_len = htons(AVRCP_REGISTER_NOTIFICATION_PARAM_LENGTH); -- 2.1.0 -- 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