[asterisk-commits] branch kpfleming/vldtmf r9011 - in /team/kpfleming/vldtmf: ./ apps/ channels/...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Jan 31 11:29:47 MST 2006


Author: kpfleming
Date: Tue Jan 31 12:29:45 2006
New Revision: 9011

URL: http://svn.digium.com/view/asterisk?rev=9011&view=rev
Log:
fix up merge conflicts, re-enable automerge

Modified:
    team/kpfleming/vldtmf/   (props changed)
    team/kpfleming/vldtmf/apps/app_meetme.c
    team/kpfleming/vldtmf/channel.c
    team/kpfleming/vldtmf/channels/chan_agent.c
    team/kpfleming/vldtmf/channels/chan_features.c
    team/kpfleming/vldtmf/channels/chan_h323.c
    team/kpfleming/vldtmf/channels/chan_iax2.c
    team/kpfleming/vldtmf/channels/chan_local.c
    team/kpfleming/vldtmf/channels/chan_mgcp.c
    team/kpfleming/vldtmf/channels/chan_sip.c
    team/kpfleming/vldtmf/channels/chan_zap.c
    team/kpfleming/vldtmf/frame.c
    team/kpfleming/vldtmf/include/asterisk/frame.h
    team/kpfleming/vldtmf/rtp.c
    team/kpfleming/vldtmf/udptl.c

Propchange: team/kpfleming/vldtmf/
------------------------------------------------------------------------------
    automerge = 1

Propchange: team/kpfleming/vldtmf/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Jan 31 12:29:45 2006
@@ -1,1 +1,1 @@
-/trunk:1-8997
+/trunk:1-9010

Modified: team/kpfleming/vldtmf/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/apps/app_meetme.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/apps/app_meetme.c (original)
+++ team/kpfleming/vldtmf/apps/app_meetme.c Tue Jan 31 12:29:45 2006
@@ -206,7 +206,6 @@
 };
 
 static int admin_exec(struct ast_channel *chan, void *data);
-static struct ast_frame null_frame = { AST_FRAME_NULL, };
 
 static void *recordthread(void *args);
 
@@ -1574,7 +1573,7 @@
 								if (conf->transpath[index]) {
 									conf->transframe[index] = ast_translate(conf->transpath[index], conf->origframe, 0);
 									if (!conf->transframe[index])
-										conf->transframe[index] = &null_frame;
+										conf->transframe[index] = &ast_null_frame;
 								}
 							}
 						}

Modified: team/kpfleming/vldtmf/channel.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channel.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channel.c (original)
+++ team/kpfleming/vldtmf/channel.c Tue Jan 31 12:29:45 2006
@@ -1745,17 +1745,13 @@
 	void *data;
 	int res;
 #endif
-	static struct ast_frame null_frame = {
-		AST_FRAME_NULL,
-	};
-	
 	ast_mutex_lock(&chan->lock);
 	if (chan->masq) {
 		if (ast_do_masquerade(chan)) {
 			ast_log(LOG_WARNING, "Failed to perform masquerade\n");
 			f = NULL;
 		} else
-			f =  &null_frame;
+			f =  &ast_null_frame;
 		ast_mutex_unlock(&chan->lock);
 		return f;
 	}
@@ -1821,8 +1817,7 @@
 				chan->timingdata = NULL;
 				ast_mutex_unlock(&chan->lock);
 			}
-			f =  &null_frame;
-			return f;
+			return &ast_null_frame;
 		} else
 			ast_log(LOG_NOTICE, "No/unknown event '%d' on timer for '%s'?\n", blah, chan->name);
 	} else
@@ -1834,8 +1829,7 @@
 		chan->generatordata = NULL;     /* reset to let ast_write get through */
 		chan->generator->generate(chan, tmp, -1, -1);
 		chan->generatordata = tmp;
-		f = &null_frame;
-		return f;
+		return &ast_null_frame;
 	}
 
 	/* Check for pending read queue */
@@ -1853,7 +1847,7 @@
 				f = chan->tech->exception(chan);
 			else {
 				ast_log(LOG_WARNING, "Exception flag set on '%s', but no exception handler\n", chan->name);
-				f = &null_frame;
+				f = &ast_null_frame;
 			}
 			/* Clear the exception flag */
 			ast_clear_flag(chan, AST_FLAG_EXCEPTION);
@@ -1881,7 +1875,7 @@
 			if (f->subclass == AST_CONTROL_ANSWER) {
 				if (prestate == AST_STATE_UP) {
 					ast_log(LOG_DEBUG, "Dropping duplicate answer!\n");
-					f = &null_frame;
+					f = &ast_null_frame;
 				}
 				/* Answer the CDR */
 				ast_setstate(chan, AST_STATE_UP);
@@ -1891,7 +1885,7 @@
 		case AST_FRAME_DTMF_BEGIN:
 			if (ast_test_flag(chan, AST_FLAG_DEFER_DTMF)) {
 				AST_LIST_INSERT_TAIL(&chan->dtmfq, ast_frdup(f), next);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else {
 				ast_log(LOG_DTMF, "DTMF begin '%c' received on %s\n", f->subclass, chan->name);
 			}
@@ -1899,9 +1893,9 @@
 		case AST_FRAME_DTMF_END: {
 			struct ast_frame *dtmf;
 
-			if (!(dtmf = ast_frdup(&null_frame))) {
+			if (!(dtmf = ast_frdup(&ast_null_frame))) {
 				ast_log(LOG_WARNING, "Unable to allocate frame!\n");
-				f = &null_frame;
+				f = &ast_null_frame;
 				break;
 			}
 
@@ -1911,7 +1905,7 @@
 			if (ast_test_flag(chan, AST_FLAG_DEFER_DTMF)) {
 				AST_LIST_INSERT_TAIL(&chan->dtmfq, dtmf, next);
 				AST_LIST_INSERT_TAIL(&chan->dtmfq, ast_frdup(f), next);
-				f = &null_frame;
+				f = &ast_null_frame;
 				break;
 			}
 
@@ -1923,7 +1917,7 @@
 		case AST_FRAME_DTMF:
 			if (ast_test_flag(chan, AST_FLAG_DEFER_DTMF)) {
 				AST_LIST_INSERT_TAIL(&chan->dtmfq, ast_frdup(f), next);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else {
 				ast_log(LOG_DTMF, "DTMF '%c' received on %s\n", f->subclass, chan->name);
 			}
@@ -1931,14 +1925,14 @@
 		case AST_FRAME_VOICE:
 			if (dropaudio) {
 				ast_frfree(f);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else if (!(f->subclass & chan->nativeformats)) {
 				/* This frame can't be from the current native formats -- drop it on the
 				   floor */
 				ast_log(LOG_NOTICE, "Dropping incompatible voice frame on %s of format %s since our native format has changed to %s\n",
 					chan->name, ast_getformatname(f->subclass), ast_getformatname(chan->nativeformats));
 				ast_frfree(f);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else {
 				if (chan->spies)
 					queue_frame_to_spies(chan, f, SPY_READ);
@@ -1969,7 +1963,7 @@
 
 				if (chan->readtrans) {
 					if (!(f = ast_translate(chan->readtrans, f, 1)))
-						f = &null_frame;
+						f = &ast_null_frame;
 				}
 
 				/* Run any generator sitting on the channel */
@@ -3131,10 +3125,9 @@
 			);
 		ast_channel_free(clone);
 	} else {
-		struct ast_frame null_frame = { AST_FRAME_NULL, };
 		ast_log(LOG_DEBUG, "Released clone lock on '%s'\n", clone->name);
 		ast_set_flag(clone, AST_FLAG_ZOMBIE);
-		ast_queue_frame(clone, &null_frame);
+		ast_queue_frame(clone, &ast_null_frame);
 		ast_mutex_unlock(&clone->lock);
 	}
 	

Modified: team/kpfleming/vldtmf/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_agent.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_agent.c (original)
+++ team/kpfleming/vldtmf/channels/chan_agent.c Tue Jan 31 12:29:45 2006
@@ -438,7 +438,6 @@
 {
 	struct agent_pvt *p = ast->tech_pvt;
 	struct ast_frame *f = NULL;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	static struct ast_frame answer_frame = { AST_FRAME_CONTROL, AST_CONTROL_ANSWER };
 	const char *status;
 	ast_mutex_lock(&p->lock); 
@@ -448,7 +447,7 @@
 		p->chan->fdno = (ast->fdno == AST_AGENT_FD) ? AST_TIMING_FD : ast->fdno;
 		f = ast_read(p->chan);
 	} else
-		f = &null_frame;
+		f = &ast_null_frame;
 	if (!f) {
 		/* If there's a channel, hang it up (if it's on a callback) make it NULL */
 		if (p->chan) {
@@ -486,7 +485,7 @@
  						ast_verbose(VERBOSE_PREFIX_3 "%s answered, waiting for '#' to acknowledge\n", p->chan->name);
  					/* Don't pass answer along */
  					ast_frfree(f);
- 					f = &null_frame;
+ 					f = &ast_null_frame;
  				} else {
  					p->acknowledged = 1;
  					/* Use the builtin answer frame for the 
@@ -513,7 +512,7 @@
  			/* don't pass voice until the call is acknowledged */
  			if (!p->acknowledged) {
  				ast_frfree(f);
- 				f = &null_frame;
+ 				f = &ast_null_frame;
  			}
  			break;
   		}
@@ -899,7 +898,6 @@
 static struct ast_channel *agent_new(struct agent_pvt *p, int state)
 {
 	struct ast_channel *tmp;
-	struct ast_frame null_frame = { AST_FRAME_NULL };
 #if 0
 	if (!p->chan) {
 		ast_log(LOG_WARNING, "No channel? :(\n");
@@ -950,7 +948,7 @@
 		if( ast_mutex_trylock(&p->app_lock) )
 		{
 			if (p->chan) {
-				ast_queue_frame(p->chan, &null_frame);
+				ast_queue_frame(p->chan, &ast_null_frame);
 				ast_mutex_unlock(&p->lock);	/* For other thread to read the condition. */
 				ast_mutex_lock(&p->app_lock);
 				ast_mutex_lock(&p->lock);

Modified: team/kpfleming/vldtmf/channels/chan_features.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_features.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_features.c (original)
+++ team/kpfleming/vldtmf/channels/chan_features.c Tue Jan 31 12:29:45 2006
@@ -241,12 +241,11 @@
 
 static struct ast_frame  *features_read(struct ast_channel *ast)
 {
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	struct feature_pvt *p = ast->tech_pvt;
 	struct ast_frame *f;
 	int x;
 	
-	f = &null_frame;
+	f = &ast_null_frame;
 	ast_mutex_lock(&p->lock);
 	x = indexof(p, ast, 0);
 	if (!x && p->subchan) {

Modified: team/kpfleming/vldtmf/channels/chan_h323.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_h323.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_h323.c (original)
+++ team/kpfleming/vldtmf/channels/chan_h323.c Tue Jan 31 12:29:45 2006
@@ -543,7 +543,6 @@
 {
 	/* Retrieve audio/etc from channel.  Assumes pvt->lock is already held. */
 	struct ast_frame *f;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 
 	/* Only apply it for the first packet, we just need the correct ip/port */
 	if (pvt->options.nat) {
@@ -554,7 +553,7 @@
 	f = ast_rtp_read(pvt->rtp);
 	/* Don't send RFC2833 if we're not supposed to */
 	if (f && (f->frametype == AST_FRAME_DTMF) && !(pvt->options.dtmfmode & H323_DTMF_RFC2833)) {
-		return &null_frame;
+		return &ast_null_frame;
 	}
 	if (pvt->owner) {
 		/* We already hold the channel lock */
@@ -563,7 +562,7 @@
 				/* Try to avoid deadlock */
 				if (ast_mutex_trylock(&pvt->owner->lock)) {
 					ast_log(LOG_NOTICE, "Format changed but channel is locked. Ignoring frame...\n");
-					return &null_frame;
+					return &ast_null_frame;
 				}
 				ast_log(LOG_DEBUG, "Oooh, format changed to %d\n", f->subclass);
 				pvt->owner->nativeformats = f->subclass;

Modified: team/kpfleming/vldtmf/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_iax2.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_iax2.c (original)
+++ team/kpfleming/vldtmf/channels/chan_iax2.c Tue Jan 31 12:29:45 2006
@@ -3103,9 +3103,8 @@
 
 static struct ast_frame *iax2_read(struct ast_channel *c) 
 {
-	static struct ast_frame f = { AST_FRAME_NULL, };
 	ast_log(LOG_NOTICE, "I should never be called!\n");
-	return &f;
+	return &ast_null_frame;
 }
 
 static int iax2_start_transfer(unsigned short callno0, unsigned short callno1)

Modified: team/kpfleming/vldtmf/channels/chan_local.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_local.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_local.c (original)
+++ team/kpfleming/vldtmf/channels/chan_local.c Tue Jan 31 12:29:45 2006
@@ -226,9 +226,7 @@
 
 static struct ast_frame  *local_read(struct ast_channel *ast)
 {
-	static struct ast_frame null = { AST_FRAME_NULL, };
-
-	return &null;
+	return &ast_null_frame;
 }
 
 static int local_write(struct ast_channel *ast, struct ast_frame *f)

Modified: team/kpfleming/vldtmf/channels/chan_mgcp.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_mgcp.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_mgcp.c (original)
+++ team/kpfleming/vldtmf/channels/chan_mgcp.c Tue Jan 31 12:29:45 2006
@@ -1219,12 +1219,11 @@
 {
 	/* Retrieve audio/etc from channel.  Assumes sub->lock is already held. */
 	struct ast_frame *f;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 
 	f = ast_rtp_read(sub->rtp);
 	/* Don't send RFC2833 if we're not supposed to */
 	if (f && (f->frametype == AST_FRAME_DTMF) && !(sub->parent->dtmfmode & MGCP_DTMF_RFC2833))
-		return &null_frame;
+		return &ast_null_frame;
 	if (sub->owner) {
 		/* We already hold the channel lock */
 		if (f->frametype == AST_FRAME_VOICE) {

Modified: team/kpfleming/vldtmf/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_sip.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_sip.c (original)
+++ team/kpfleming/vldtmf/channels/chan_sip.c Tue Jan 31 12:29:45 2006
@@ -3051,11 +3051,10 @@
 {
 	/* Retrieve audio/etc from channel.  Assumes p->lock is already held. */
 	struct ast_frame *f;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	
 	if (!p->rtp) {
 		/* We have no RTP allocated for this channel */
-		return &null_frame;
+		return &ast_null_frame;
 	}
 
 	switch(ast->fdno) {
@@ -3072,11 +3071,11 @@
 		f = ast_rtcp_read(p->vrtp);	/* RTCP Control Channel for video */
 		break;
 	default:
-		f = &null_frame;
+		f = &ast_null_frame;
 	}
 	/* Don't forward RFC2833 if we're not supposed to */
 	if (f && (f->frametype == AST_FRAME_DTMF) && (ast_test_flag(p, SIP_DTMF) != SIP_DTMF_RFC2833))
-		return &null_frame;
+		return &ast_null_frame;
 
 	if (p->owner) {
 		/* We already hold the channel lock */
@@ -3759,12 +3758,11 @@
 	if ((bridgepeer=ast_bridged_channel(p->owner))) {
 		/* We have a bridge */
 		/* Turn on/off music on hold if we are holding/unholding */
-		struct ast_frame af = { AST_FRAME_NULL, };
 		if (sin.sin_addr.s_addr && !sendonly) {
 			ast_moh_stop(bridgepeer);
 		
 			/* Activate a re-invite */
-			ast_queue_frame(p->owner, &af);
+			ast_queue_frame(p->owner, &ast_null_frame);
 		} else {
 			/* No address for RTP, we're on hold */
 			
@@ -3772,7 +3770,7 @@
 			if (sendonly)
 				ast_rtp_stop(p->rtp);
 			/* Activate a re-invite */
-			ast_queue_frame(p->owner, &af);
+			ast_queue_frame(p->owner, &ast_null_frame);
 		}
 	}
 
@@ -9619,8 +9617,7 @@
 #endif
 				ast_queue_control(p->owner, AST_CONTROL_ANSWER);
 			} else {	/* RE-invite */
-				struct ast_frame af = { AST_FRAME_NULL, };
-				ast_queue_frame(p->owner, &af);
+				ast_queue_frame(p->owner, &ast_null_frame);
 			}
 		} else {
 			 /* It's possible we're getting an ACK after we've tried to disconnect
@@ -10354,7 +10351,6 @@
 	int res = 1;
 	struct ast_channel *c=NULL;
 	int gotdest;
-	struct ast_frame af = { AST_FRAME_NULL, };
 	char *supported;
 	char *required;
 	unsigned int required_profile = 0;
@@ -10446,7 +10442,7 @@
 
 		/* Queue NULL frame to prod ast_rtp_bridge if appropriate */
 		if (p->owner)
-			ast_queue_frame(p->owner, &af);
+			ast_queue_frame(p->owner, &ast_null_frame);
 
 		/* Initialize the context if it hasn't been already */
 		if (ast_strlen_zero(p->context))

Modified: team/kpfleming/vldtmf/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/channels/chan_zap.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/channels/chan_zap.c (original)
+++ team/kpfleming/vldtmf/channels/chan_zap.c Tue Jan 31 12:29:45 2006
@@ -808,7 +808,6 @@
 static void wakeup_sub(struct zt_pvt *p, int a, void *pri)
 #endif
 {
-	struct ast_frame null = { AST_FRAME_NULL, };
 #ifdef ZAPATA_PRI
 	if (pri)
 		ast_mutex_unlock(&pri->lock);
@@ -820,7 +819,7 @@
 				usleep(1);
 				ast_mutex_lock(&p->lock);
 			} else {
-				ast_queue_frame(p->subs[a].owner, &null);
+				ast_queue_frame(p->subs[a].owner, &ast_null_frame);
 				ast_mutex_unlock(&p->subs[a].owner->lock);
 				break;
 			}

Modified: team/kpfleming/vldtmf/frame.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/frame.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/frame.c (original)
+++ team/kpfleming/vldtmf/frame.c Tue Jan 31 12:29:45 2006
@@ -56,13 +56,6 @@
 #define TYPE_DONTSEND	 0x3
 #define TYPE_MASK	 0x3
 
-struct ast_format_list {
-	int visible;	/*!< Can we see this entry */
-	int bits;	/*!< bitmask value */
-	char *name;	/*!< short name */
-	char *desc;	/*!< Description */
-};
-
 struct ast_smoother {
 	int size;
 	int format;
@@ -79,7 +72,12 @@
 };
 
 /*! \brief Definition of supported media formats (codecs) */
-static struct ast_format_list AST_FORMAT_LIST[] = {
+static struct ast_format_list {
+	int visible;	/*!< Can we see this entry */
+	int bits;	/*!< bitmask value */
+	char *name;	/*!< short name */
+	char *desc;	/*!< Description */
+} AST_FORMAT_LIST[] = {
 	{ 1, AST_FORMAT_G723_1 , "g723" , "G.723.1"},	/*!< codec_g723_1.c */
 	{ 1, AST_FORMAT_GSM, "gsm" , "GSM"},		/*!< codec_gsm.c */
 	{ 1, AST_FORMAT_ULAW, "ulaw", "G.711 u-law" },	/*!< codec_ulaw.c */
@@ -107,6 +105,8 @@
 	{ 0, 0, "nothing", "undefined" },
 	{ 0, AST_FORMAT_MAX_VIDEO, "maxvideo", "Maximum video format" },
 };
+
+struct ast_frame ast_null_frame = { AST_FRAME_NULL, };
 
 void ast_smoother_reset(struct ast_smoother *s, int size)
 {

Modified: team/kpfleming/vldtmf/include/asterisk/frame.h
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/include/asterisk/frame.h?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/include/asterisk/frame.h (original)
+++ team/kpfleming/vldtmf/include/asterisk/frame.h Tue Jan 31 12:29:45 2006
@@ -111,6 +111,10 @@
 };
 
 AST_LIST_HEAD_NOLOCK(ast_frame_list, ast_frame);
+
+/*! Queueing a null frame is fairly common, so we declare a global null frame object
+    for this purpose instead of having to declare one on the stack */
+extern struct ast_frame ast_null_frame;
 
 #define AST_FRIENDLY_OFFSET 	64	/*! It's polite for a a new frame to
 					  have this number of bytes for additional

Modified: team/kpfleming/vldtmf/rtp.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/rtp.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/rtp.c (original)
+++ team/kpfleming/vldtmf/rtp.c Tue Jan 31 12:29:45 2006
@@ -229,7 +229,6 @@
 
 static struct ast_frame *send_dtmf(struct ast_rtp *rtp)
 {
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	char iabuf[INET_ADDRSTRLEN];
 
 	if (ast_tvcmp(ast_tvnow(), rtp->dtmfmute) < 0) {
@@ -237,7 +236,7 @@
 			ast_log(LOG_DEBUG, "Ignore potential DTMF echo from '%s'\n", ast_inet_ntoa(iabuf, sizeof(iabuf), rtp->them.sin_addr));
 		rtp->resp = 0;
 		rtp->dtmfduration = 0;
-		return &null_frame;
+		return &ast_null_frame;
 	}
 	if (option_debug)
 		ast_log(LOG_DEBUG, "Sending dtmf: %d (%c), at %s\n", rtp->resp, rtp->resp, ast_inet_ntoa(iabuf, sizeof(iabuf), rtp->them.sin_addr));
@@ -424,7 +423,6 @@
 
 struct ast_frame *ast_rtcp_read(struct ast_rtp *rtp)
 {
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	socklen_t len;
 	int hdrlen = 8;
 	int res;
@@ -433,7 +431,7 @@
 	char iabuf[INET_ADDRSTRLEN];
 	
 	if (!rtp || !rtp->rtcp)
-		return &null_frame;
+		return &ast_null_frame;
 
 	len = sizeof(sin);
 	
@@ -445,12 +443,12 @@
 			ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
 		if (errno == EBADF)
 			CRASH;
-		return &null_frame;
+		return &ast_null_frame;
 	}
 
 	if (res < hdrlen) {
 		ast_log(LOG_WARNING, "RTP Read too short\n");
-		return &null_frame;
+		return &ast_null_frame;
 	}
 
 	if (rtp->nat) {
@@ -464,7 +462,7 @@
 	}
 	if (option_debug)
 		ast_log(LOG_DEBUG, "Got RTCP report of %d bytes\n", res);
-	return &null_frame;
+	return &ast_null_frame;
 }
 
 static void calc_rxstamp(struct timeval *tv, struct ast_rtp *rtp, unsigned int timestamp, int mark)
@@ -488,7 +486,7 @@
 	unsigned int timestamp;
 	char iabuf[INET_ADDRSTRLEN];
 	struct rtp_header *header;
-	static struct ast_frame *f, null_frame = { AST_FRAME_NULL, };
+	static struct ast_frame *f;
 	struct rtpPayloadType rtpPT;
 	
 	len = sizeof(sin);
@@ -502,17 +500,17 @@
 			ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
 		if (errno == EBADF)
 			CRASH;
-		return &null_frame;
+		return &ast_null_frame;
 	}
 	if (res < sizeof(*header)) {
 		ast_log(LOG_WARNING, "RTP Read too short\n");
-		return &null_frame;
+		return &ast_null_frame;
 	}
 
 	/* Ignore if the other side hasn't been given an address
 	   yet.  */
 	if (!rtp->them.sin_addr.s_addr || !rtp->them.sin_port)
-		return &null_frame;
+		return &ast_null_frame;
 
 	if (rtp->nat) {
 		/* Send to whoever sent to us */
@@ -533,7 +531,7 @@
 
 	/* Check RTP version */
 	if (header->version != 2)
-		return &null_frame;
+		return &ast_null_frame;
 	
 	/* Get fields */
 	seqno = ntohs(header->sequence);
@@ -554,7 +552,7 @@
 
 		if (res < 1) {
 			ast_log(LOG_WARNING, "RTP Read too short\n");
-			return &null_frame;
+			return &ast_null_frame;
 		}
 	}
 
@@ -566,7 +564,7 @@
 
    	rtpPT = ast_rtp_lookup_pt(rtp, header->payload);
 	if (!rtpPT.isAstFormat) {
-		f = &null_frame;
+		f = &ast_null_frame;
 		switch (rtpPT.code) {
 		case AST_RTP_DTMF:
 			/* This is special in-band data that's not one of our codecs */
@@ -602,7 +600,7 @@
 			ast_log(LOG_NOTICE, "Unknown RTP payload %d received\n", header->payload);
 			break;
 		}
-		return f ? f : &null_frame;
+		return f ? f : &ast_null_frame;
 	}
 
 	rtp->lastrxformat = rtp->f.subclass = rtpPT.code;

Modified: team/kpfleming/vldtmf/udptl.c
URL: http://svn.digium.com/view/asterisk/team/kpfleming/vldtmf/udptl.c?rev=9011&r1=9010&r2=9011&view=diff
==============================================================================
--- team/kpfleming/vldtmf/udptl.c (original)
+++ team/kpfleming/vldtmf/udptl.c Tue Jan 31 12:29:45 2006
@@ -640,7 +640,6 @@
 	uint16_t seqno = 0;
 	char iabuf[INET_ADDRSTRLEN];
 	uint16_t *udptlheader;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 
 	len = sizeof(sin);
 	
@@ -657,12 +656,12 @@
 			ast_log(LOG_WARNING, "UDPTL read error: %s\n", strerror(errno));
 		if (errno == EBADF)
 			CRASH;
-		return &null_frame;
+		return &ast_null_frame;
 	}
 
 	/* Ignore if the other side hasn't been given an address yet. */
 	if (!udptl->them.sin_addr.s_addr || !udptl->them.sin_port)
-		return &null_frame;
+		return &ast_null_frame;
 
 	if (udptl->nat) {
 		/* Send to whoever sent to us */



More information about the asterisk-commits mailing list