diff options
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/include/pjmedia/session.h | 20 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/session.c | 15 |
2 files changed, 35 insertions, 0 deletions
diff --git a/pjmedia/include/pjmedia/session.h b/pjmedia/include/pjmedia/session.h index 6569e971..10d0bd99 100644 --- a/pjmedia/include/pjmedia/session.h +++ b/pjmedia/include/pjmedia/session.h @@ -279,6 +279,26 @@ PJ_DECL(pj_status_t) pjmedia_session_get_stream_stat(pjmedia_session *session, unsigned index, pjmedia_rtcp_stat *stat); + +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) +/** + * Get extended session statistics. The extended statistic shows reports + * from RTCP XR, such as per interval statistics summary (packet count, + * packet lost, jitter, etc), VoIP metrics (delay, quality, etc) + * + * @param session The media session. + * @param index Stream index. + * @param stat_xr Stream extended statistics. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_stream_stat_xr( + pjmedia_session *session, + unsigned index, + pjmedia_rtcp_xr_stat *stat_xr); +#endif + + /** * Dial DTMF digit to the stream, using RFC 2833 mechanism. * diff --git a/pjmedia/src/pjmedia/session.c b/pjmedia/src/pjmedia/session.c index d5c060f8..04fe4ebb 100644 --- a/pjmedia/src/pjmedia/session.c +++ b/pjmedia/src/pjmedia/session.c @@ -821,6 +821,21 @@ PJ_DEF(pj_status_t) pjmedia_session_get_stream_stat( pjmedia_session *session, /* + * Get extended statistics + */ +PJ_DEF(pj_status_t) pjmedia_session_get_stream_stat_xr( + pjmedia_session *session, + unsigned index, + pjmedia_rtcp_xr_stat *stat_xr) +{ + PJ_ASSERT_RETURN(session && stat_xr && index < session->stream_cnt, + PJ_EINVAL); + + return pjmedia_stream_get_stat_xr(session->stream[index], stat_xr); +} + + +/* * Dial DTMF digit to the stream, using RFC 2833 mechanism. */ PJ_DEF(pj_status_t) pjmedia_session_dial_dtmf( pjmedia_session *session, |