diff options
author | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-06-11 21:35:37 +0000 |
---|---|---|
committer | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-06-11 21:35:37 +0000 |
commit | 4e01013fe10678ba52ac3b34a5b36ff845b6d8c2 (patch) | |
tree | 23ba374382c9a8e55e1fededdb25027eefde0ef3 /main/rtp.c | |
parent | a11b943aba9c9dd69db454a7a7aac3fcb3e92f08 (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.c | 25 |
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 */ |