module-rtp: add timer for ck requests

Scale RTP timestamps against the clock, allow some jitter.
Make method to query current RTP timestamps.
This commit is contained in:
Wim Taymans 2023-03-07 09:00:40 +01:00
parent 8e5b9da177
commit c5effbd979
5 changed files with 181 additions and 25 deletions

View file

@ -466,3 +466,16 @@ int rtp_stream_receive_packet(struct rtp_stream *s, uint8_t *buffer, size_t len)
struct impl *impl = (struct impl*)s;
return impl->receive_rtp(impl, buffer, len);
}
uint64_t rtp_stream_get_time(struct rtp_stream *s, uint64_t *rate)
{
struct impl *impl = (struct impl*)s;
struct spa_io_position *pos = impl->io_position;
if (pos == NULL)
return -EIO;
*rate = impl->rate;
return pos->clock.position * impl->rate *
pos->clock.rate.num / pos->clock.rate.denom;
}