rtp: fix jitter calculation

This commit is contained in:
Richard Aas 2014-05-30 08:02:22 +00:00
parent daa24b983d
commit 3fae3e3be7
2 changed files with 8 additions and 6 deletions

View file

@ -563,12 +563,12 @@ void rtcp_sess_rx_rtp(struct rtcp_sess *sess, uint16_t seq, uint32_t ts,
if (sess->srate_rx) {
uint32_t ts_arrive;
uint64_t ts_arrive;
/* Convert from wall-clock time to timestamp units */
ts_arrive = (uint32_t)(tmr_jiffies()) * sess->srate_rx / 1000;
ts_arrive = tmr_jiffies() * sess->srate_rx / 1000;
source_calc_jitter(mbr->s, ts, ts_arrive);
source_calc_jitter(mbr->s, ts, (uint32_t)ts_arrive);
}
mbr->s->rtp_rx_bytes += payload_size;

View file

@ -117,10 +117,12 @@ void source_calc_jitter(struct rtp_source *s, uint32_t rtp_ts,
const int transit = arrival - rtp_ts;
int d = transit - s->transit;
s->transit = transit;
if (!s->rtp_rx_bytes)
if (!s->transit) {
s->transit = transit;
return;
}
s->transit = transit;
if (d < 0)
d = -d;