[asterisk-commits] trunk r35333 - /trunk/rtp.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed Jun 21 12:07:02 MST 2006


Author: oej
Date: Wed Jun 21 14:07:02 2006
New Revision: 35333

URL: http://svn.digium.com/view/asterisk?rev=35333&view=rev
Log:
Only delete scheduled item if it exists

Modified:
    trunk/rtp.c

Modified: trunk/rtp.c
URL: http://svn.digium.com/view/asterisk/trunk/rtp.c?rev=35333&r1=35332&r2=35333&view=diff
==============================================================================
--- trunk/rtp.c (original)
+++ trunk/rtp.c Wed Jun 21 14:07:02 2006
@@ -1047,7 +1047,7 @@
 		rtp->seedrxseqno = seqno;
 	}
 
-	if (rtp->rtcp->schedid<1) {
+	if (rtp->rtcp->schedid < 1) {
 		/* Schedule transmission of Receiver Report */
 		rtp->rtcp->schedid = ast_sched_add(rtp->sched, ast_rtcp_calc_interval(rtp), ast_rtcp_write, rtp);
 	}
@@ -1744,7 +1744,7 @@
 
 void ast_rtp_stop(struct ast_rtp *rtp)
 {
-	if (rtp->rtcp->schedid>0) {
+	if (rtp->rtcp->schedid > 0) {
 		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 	}
@@ -1816,7 +1816,7 @@
 		ast_verbose("  RTT:		 %f\n", rtp->rtcp->rtt);
 	}
 
-	if (rtp->rtcp->schedid>0) {
+	if (rtp->rtcp->schedid > 0) {
 		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 	}
@@ -1974,7 +1974,8 @@
 	
 	if (!rtp->rtcp->them.sin_addr.s_addr) {  /* This'll stop rtcp for this rtp session */
 		ast_verbose("RTCP SR transmission error, rtcp halted %s\n",strerror(errno));
-		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
+		if (rtp->rtcp->schedid > 0)
+			ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 		return 0;
 	}
@@ -2032,7 +2033,8 @@
 	res = sendto(rtp->rtcp->s, (unsigned int *)rtcpheader, len, 0, (struct sockaddr *)&rtp->rtcp->them, sizeof(rtp->rtcp->them));
 	if (res < 0) {
 		ast_log(LOG_ERROR, "RTCP SR transmission error to %s:%d, rtcp halted %s\n",ast_inet_ntoa(iabuf, sizeof(iabuf), rtp->rtcp->them.sin_addr), ntohs(rtp->rtcp->them.sin_port), strerror(errno));
-		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
+		if (rtp->rtcp->schedid > 0)
+			ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 		return 0;
 	}
@@ -2084,7 +2086,8 @@
 	  
 	if (!rtp->rtcp->them.sin_addr.s_addr) {
 		ast_log(LOG_ERROR, "RTCP RR transmission error to, rtcp halted %s\n",strerror(errno));
-		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
+		if (rtp->rtcp->schedid > 0)
+			ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 		return 0;
 	}
@@ -2132,7 +2135,8 @@
 	if (res < 0) {
 		ast_log(LOG_ERROR, "RTCP RR transmission error, rtcp halted: %s\n",strerror(errno));
 		/* Remove the scheduler */
-		ast_sched_del(rtp->sched, rtp->rtcp->schedid);
+		if (rtp->rtcp->schedid > 0)
+			ast_sched_del(rtp->sched, rtp->rtcp->schedid);
 		rtp->rtcp->schedid = -1;
 		return 0;
 	}



More information about the asterisk-commits mailing list