aboutsummaryrefslogtreecommitdiffstats
path: root/main/rtp.c
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-11 21:35:37 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-11 21:35:37 +0000
commit4e01013fe10678ba52ac3b34a5b36ff845b6d8c2 (patch)
tree23ba374382c9a8e55e1fededdb25027eefde0ef3 /main/rtp.c
parenta11b943aba9c9dd69db454a7a7aac3fcb3e92f08 (diff)
Don't access rtp->rtcp->* if rtp->rtcp is null
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@200172 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/rtp.c')
-rw-r--r--main/rtp.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 1e6a438e0..70e54db91 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -1488,18 +1488,21 @@ static void calc_rxstamp(struct timeval *when, struct ast_rtp *rtp, unsigned int
if (d<0)
d=-d;
rtp->rxjitter += (1./16.) * (d - rtp->rxjitter);
- if (rtp->rtcp && rtp->rxjitter > rtp->rtcp->maxrxjitter)
- rtp->rtcp->maxrxjitter = rtp->rxjitter;
- if (rtp->rtcp->rxjitter_count == 1)
- rtp->rtcp->minrxjitter = rtp->rxjitter;
- if (rtp->rtcp && rtp->rxjitter < rtp->rtcp->minrxjitter)
- rtp->rtcp->minrxjitter = rtp->rxjitter;
-
- normdev_rxjitter_current = normdev_compute(rtp->rtcp->normdev_rxjitter,rtp->rxjitter,rtp->rtcp->rxjitter_count);
- rtp->rtcp->stdev_rxjitter = stddev_compute(rtp->rtcp->stdev_rxjitter,rtp->rxjitter,rtp->rtcp->normdev_rxjitter,normdev_rxjitter_current,rtp->rtcp->rxjitter_count);
- rtp->rtcp->normdev_rxjitter = normdev_rxjitter_current;
- rtp->rtcp->rxjitter_count++;
+ if (rtp->rtcp) {
+ if (rtp->rxjitter > rtp->rtcp->maxrxjitter)
+ rtp->rtcp->maxrxjitter = rtp->rxjitter;
+ if (rtp->rtcp->rxjitter_count == 1)
+ rtp->rtcp->minrxjitter = rtp->rxjitter;
+ if (rtp->rxjitter < rtp->rtcp->minrxjitter)
+ rtp->rtcp->minrxjitter = rtp->rxjitter;
+
+ normdev_rxjitter_current = normdev_compute(rtp->rtcp->normdev_rxjitter,rtp->rxjitter,rtp->rtcp->rxjitter_count);
+ rtp->rtcp->stdev_rxjitter = stddev_compute(rtp->rtcp->stdev_rxjitter,rtp->rxjitter,rtp->rtcp->normdev_rxjitter,normdev_rxjitter_current,rtp->rtcp->rxjitter_count);
+
+ rtp->rtcp->normdev_rxjitter = normdev_rxjitter_current;
+ rtp->rtcp->rxjitter_count++;
+ }
}
/*! \brief Perform a Packet2Packet RTP write */