diff options
-rw-r--r-- | pjmedia/src/pjmedia/rtcp.c | 5 | ||||
-rw-r--r-- | pjsip-apps/src/samples/siprtp.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia/rtcp.c b/pjmedia/src/pjmedia/rtcp.c index dd3ca304..6fc3a752 100644 --- a/pjmedia/src/pjmedia/rtcp.c +++ b/pjmedia/src/pjmedia/rtcp.c @@ -261,7 +261,10 @@ static void rtcp_build_rtcp(pjmedia_rtcp_session *s, /* Total lost. */ expected = pj_ntohl(rtcp_pkt->rr.last_seq) - s->seq_ctrl.base_seq; - u32 = expected - s->received; + if (expected >= s->received) + u32 = expected - s->received; + else + u32 = 0; rtcp_pkt->rr.total_lost_2 = (u32 >> 16) & 0x00FF; rtcp_pkt->rr.total_lost_1 = (u32 >> 8) & 0x00FF; rtcp_pkt->rr.total_lost_0 = u32 & 0x00FF; diff --git a/pjsip-apps/src/samples/siprtp.c b/pjsip-apps/src/samples/siprtp.c index 03fb279f..d8d18f1d 100644 --- a/pjsip-apps/src/samples/siprtp.c +++ b/pjsip-apps/src/samples/siprtp.c @@ -1416,7 +1416,7 @@ static void print_call(int call_index) /* Print duration */ - if (inv->state == PJSIP_INV_STATE_CONFIRMED) { + if (inv->state >= PJSIP_INV_STATE_CONFIRMED) { pj_time_val now; pj_gettimeofday(&now); |