rtp: fix jitter calculation
This commit is contained in:
parent
daa24b983d
commit
3fae3e3be7
2 changed files with 8 additions and 6 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue