]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't crash if RTCP is not enabled on an RTP structure but statistics are output.
authorJoshua Colp <jcolp@digium.com>
Thu, 22 Jan 2009 20:02:35 +0000 (20:02 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 22 Jan 2009 20:02:35 +0000 (20:02 +0000)
(closes issue #14234)
Reported by: jcovert
Patches:
      rtp.c.patch-1.6.0.3 uploaded by jcovert (license 551)
      rtp.c.patch-svn-165599 uploaded by jcovert (license 551)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@170239 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/rtp.c

index 28fcad75fac5313539d63f80b7cdfb78c861a8f5..5165ade83c96dd9209dc7b25bedaa0453cda56f8 100644 (file)
@@ -2134,17 +2134,17 @@ void ast_rtp_destroy(struct ast_rtp *rtp)
                ast_verbose("* Our Receiver:\n");
                ast_verbose("  SSRC:             %u\n", rtp->themssrc);
                ast_verbose("  Received packets: %u\n", rtp->rxcount);
-               ast_verbose("  Lost packets:     %u\n", rtp->rtcp->expected_prior - rtp->rtcp->received_prior);
+               ast_verbose("  Lost packets:     %u\n", rtp->rtcp ? (rtp->rtcp->expected_prior - rtp->rtcp->received_prior) : 0);
                ast_verbose("  Jitter:           %.4f\n", rtp->rxjitter);
                ast_verbose("  Transit:          %.4f\n", rtp->rxtransit);
-               ast_verbose("  RR-count:         %u\n", rtp->rtcp->rr_count);
+               ast_verbose("  RR-count:         %u\n", rtp->rtcp ? rtp->rtcp->rr_count : 0);
                ast_verbose("* Our Sender:\n");
                ast_verbose("  SSRC:             %u\n", rtp->ssrc);
                ast_verbose("  Sent packets:     %u\n", rtp->txcount);
-               ast_verbose("  Lost packets:     %u\n", rtp->rtcp->reported_lost);
-               ast_verbose("  Jitter:           %u\n", rtp->rtcp->reported_jitter / (unsigned int)65536.0);
-               ast_verbose("  SR-count:         %u\n", rtp->rtcp->sr_count);
-               ast_verbose("  RTT:              %f\n", rtp->rtcp->rtt);
+               ast_verbose("  Lost packets:     %u\n", rtp->rtcp ? rtp->rtcp->reported_lost : 0);
+               ast_verbose("  Jitter:           %u\n", rtp->rtcp ? (rtp->rtcp->reported_jitter / (unsigned int)65536.0) : 0);
+               ast_verbose("  SR-count:         %u\n", rtp->rtcp ? rtp->rtcp->sr_count : 0);
+               ast_verbose("  RTT:              %f\n", rtp->rtcp ? rtp->rtcp->rtt : 0);
        }
 
        if (rtp->smoother)