aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2016-04-25 20:11:53 +0200
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2016-12-27 20:02:25 +0100
commit1bd1db1a2d782f19a239022decacbac17049e909 (patch)
treee954ebaeed4b56e77a2b8dd4437dbb0fc32424b2
parent71bc9e2ac815aa07480110361651fdb5dbaf9003 (diff)
ortp: Print jitter stats along with sent/received RTP stats.fairwaves/0.3.1-fw.1
Jitter statistics is important for debugging voice quality issues. A number of dropped packets is sometimes not enough to really understand what's going on and jitter buffer statistics offer a deper view into the network quality.
-rw-r--r--src/trau/osmo_ortp.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
index 65ec269..af986a6 100644
--- a/src/trau/osmo_ortp.c
+++ b/src/trau/osmo_ortp.c
@@ -533,6 +533,19 @@ void osmo_rtp_socket_log_stats(struct osmo_rtp_socket *rs,
int subsys, int level,
const char *pfx)
{
+ char jitter_stats_str[1024] = "";
+#if HAVE_ORTP_021
+ const jitter_stats_t *jitter;
+
+ jitter = rtp_session_get_jitter_stats(rs->sess);
+ if (jitter)
+ snprintf(jitter_stats_str, sizeof(jitter_stats_str),
+ " Rx jitter(last: %"PRIu32" ms max: %"PRIu32" ms "
+ "sum: %"PRIu64" ms mean jb size %.1f ms)",
+ jitter->jitter, jitter->max_jitter,
+ jitter->sum_jitter, jitter->jitter_buffer_size_ms);
+#endif
+
const rtp_stats_t *stats;
stats = rtp_session_get_stats(rs->sess);
@@ -541,10 +554,11 @@ void osmo_rtp_socket_log_stats(struct osmo_rtp_socket *rs,
LOGP(subsys, level, "%sRTP Tx(%"PRIu64" pkts, %"PRIu64" bytes) "
"Rx(%"PRIu64" pkts, %"PRIu64" bytes, %"PRIu64" late, "
- "%"PRIu64" loss, %"PRIu64" qmax)\n",
+ "%"PRIu64" loss, %"PRIu64" qmax)%s\n",
pfx, stats->packet_sent, stats->sent,
stats->packet_recv, stats->hw_recv, stats->outoftime,
- stats->cum_packet_loss, stats->discarded);
+ stats->cum_packet_loss, stats->discarded,
+ jitter_stats_str);
}
void osmo_rtp_socket_stats(struct osmo_rtp_socket *rs,