raop: implement retransmission

Keep the last relation between the sequence number and the timestamp
(ringbuffer position).

When a retransmission is requested for a given sequence number use the
relation to calculate the corresponding timestamp and retransmit the
packet from the ringbuffer again.

See #5276
This commit is contained in:
Wim Taymans 2026-05-19 17:30:28 +02:00
parent a6fe6196d5
commit d56d5fa87a
4 changed files with 96 additions and 43 deletions

View file

@ -689,6 +689,7 @@ on_control_source_io(void *data, int fd, uint32_t mask)
case 0xd5:
pw_log_debug("retransmit request seq:%u num:%u", seq, num);
/* retransmit request */
rtp_stream_resend_packets(impl->stream, seq, num);
break;
}
}