summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/rtcp.c5
1 files changed, 4 insertions, 1 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;