From cf4e85785b0b0168b99ab52229ab7889986e24b9 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Wed, 8 Apr 2009 18:22:31 +0000 Subject: Ticket #762: Updated delay calculation method & added statistic report in jbuf_destroy(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2585 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia/jbuf.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'pjmedia') diff --git a/pjmedia/src/pjmedia/jbuf.c b/pjmedia/src/pjmedia/jbuf.c index 71891212..3d8b8b4c 100644 --- a/pjmedia/src/pjmedia/jbuf.c +++ b/pjmedia/src/pjmedia/jbuf.c @@ -478,6 +478,19 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_reset(pjmedia_jbuf *jb) PJ_DEF(pj_status_t) pjmedia_jbuf_destroy(pjmedia_jbuf *jb) { + TRACE__((jb->jb_name.ptr, "\n" + " JB summary:\n" + " size=%d prefetch=%d\n" + " delay (min/max/avg/dev)=%d/%d/%d/%d ms\n" + " burst (min/max/avg/dev)=%d/%d/%d/%d frames\n" + " lost=%d discard=%d empty=%d\n", + jb->jb_framelist.size, jb->jb_prefetch, + jb->jb_delay.min, jb->jb_delay.max, jb->jb_delay.mean, + pj_math_stat_get_stddev(&jb->jb_delay), + jb->jb_burst.min, jb->jb_burst.max, jb->jb_burst.mean, + pj_math_stat_get_stddev(&jb->jb_burst), + jb->jb_lost, jb->jb_discard, jb->jb_empty)); + return jb_framelist_destroy(&jb->jb_framelist); } @@ -745,11 +758,14 @@ PJ_DEF(void) pjmedia_jbuf_get_frame2(pjmedia_jbuf *jb, */ if (ftype == PJMEDIA_JB_NORMAL_FRAME) { *p_frame_type = PJMEDIA_JB_NORMAL_FRAME; - pj_math_stat_update(&jb->jb_delay, cur_size * jb->jb_frame_ptime); } else { *p_frame_type = PJMEDIA_JB_MISSING_FRAME; jb->jb_lost++; } + + /* Calculate delay on the first GET */ + if (jb->jb_last_op == JB_OP_PUT) + pj_math_stat_update(&jb->jb_delay, cur_size * jb->jb_frame_ptime); } jb->jb_level++; -- cgit v1.2.3