|
|
@ -351,7 +351,7 @@ void ssrc_sender_report(struct call_media *m, const struct ssrc_sender_report *s
|
|
|
|
mutex_unlock(&e->lock);
|
|
|
|
mutex_unlock(&e->lock);
|
|
|
|
obj_put(e);
|
|
|
|
obj_put(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void ssrc_receiver_report(struct call_media *m, const struct ssrc_receiver_report *rr,
|
|
|
|
void ssrc_receiver_report(struct call_media *m, struct stream_fd *sfd, const struct ssrc_receiver_report *rr,
|
|
|
|
const struct timeval *tv)
|
|
|
|
const struct timeval *tv)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ilog(LOG_DEBUG, "RR from %s%x%s about %s%x%s: FL %u TL %u HSR %u J %u LSR %u DLSR %u",
|
|
|
|
ilog(LOG_DEBUG, "RR from %s%x%s about %s%x%s: FL %u TL %u HSR %u J %u LSR %u DLSR %u",
|
|
|
@ -396,17 +396,17 @@ void ssrc_receiver_report(struct call_media *m, const struct ssrc_receiver_repor
|
|
|
|
.packetloss = (unsigned int) rr->fraction_lost * 100 / 256,
|
|
|
|
.packetloss = (unsigned int) rr->fraction_lost * 100 / 256,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
RTPE_STATS_SAMPLE(jitter, jitter);
|
|
|
|
RTPE_SAMPLE_SFD(jitter, jitter, sfd);
|
|
|
|
RTPE_STATS_SAMPLE(rtt_e2e, rtt_end2end);
|
|
|
|
RTPE_SAMPLE_SFD(rtt_e2e, rtt_end2end, sfd);
|
|
|
|
RTPE_STATS_SAMPLE(rtt_dsct, rtt);
|
|
|
|
RTPE_SAMPLE_SFD(rtt_dsct, rtt, sfd);
|
|
|
|
RTPE_STATS_SAMPLE(packetloss, ssb->packetloss);
|
|
|
|
RTPE_SAMPLE_SFD(packetloss, ssb->packetloss, sfd);
|
|
|
|
|
|
|
|
|
|
|
|
other_e->packets_lost = rr->packets_lost;
|
|
|
|
other_e->packets_lost = rr->packets_lost;
|
|
|
|
mos_calc(ssb);
|
|
|
|
mos_calc(ssb);
|
|
|
|
if (ssb->mos) {
|
|
|
|
if (ssb->mos) {
|
|
|
|
ilog(LOG_DEBUG, "Calculated MOS from RR for %s%x%s is %.1f", FMT_M(rr->from),
|
|
|
|
ilog(LOG_DEBUG, "Calculated MOS from RR for %s%x%s is %.1f", FMT_M(rr->from),
|
|
|
|
(double) ssb->mos / 10.0);
|
|
|
|
(double) ssb->mos / 10.0);
|
|
|
|
RTPE_STATS_SAMPLE(mos, ssb->mos);
|
|
|
|
RTPE_SAMPLE_SFD(mos, ssb->mos, sfd);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// got a new stats block, add it to reporting ssrc
|
|
|
|
// got a new stats block, add it to reporting ssrc
|
|
|
@ -623,6 +623,6 @@ void ssrc_collect_metrics(struct call_media *media) {
|
|
|
|
e->jitter = e->jitter * 1000 / rpt->clock_rate;
|
|
|
|
e->jitter = e->jitter * 1000 / rpt->clock_rate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
RTPE_STATS_SAMPLE(jitter_measured, e->jitter);
|
|
|
|
RTPE_SAMPLE_SFD(jitter_measured, e->jitter, ps->selected_sfd);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|