[svn-commits] russell: branch group/vldtmf r39423 - in /team/group/vldtmf: ./ apps/ include...

svn-commits at lists.digium.com svn-commits at lists.digium.com
Tue Aug 8 16:31:23 MST 2006


Author: russell
Date: Tue Aug  8 18:31:22 2006
New Revision: 39423

URL: http://svn.digium.com/view/asterisk?rev=39423&view=rev
Log:
- move frame types to an enum
- define AST_FRAME_DTMF to be the same as AST_FRAME_DTMF_END
- fix a couple places where both DTMF and DTMF_END were listed in a switch

Modified:
    team/group/vldtmf/apps/app_echo.c
    team/group/vldtmf/channel.c
    team/group/vldtmf/include/asterisk/frame.h

Modified: team/group/vldtmf/apps/app_echo.c
URL: http://svn.digium.com/view/asterisk/team/group/vldtmf/apps/app_echo.c?rev=39423&r1=39422&r2=39423&view=diff
==============================================================================
--- team/group/vldtmf/apps/app_echo.c (original)
+++ team/group/vldtmf/apps/app_echo.c Tue Aug  8 18:31:22 2006
@@ -74,19 +74,13 @@
 		f->delivery.tv_usec = 0;
 		switch (f->frametype) {
 		case AST_FRAME_DTMF:
-		case AST_FRAME_DTMF_END:
 			if (f->subclass == '#') {
 				res = 0;
 				ast_frfree(f);
 				goto end;
 			}
 			/* fall through */
-		case AST_FRAME_DTMF_BEGIN:
-		case AST_FRAME_VOICE:
-		case AST_FRAME_VIDEO:
-		case AST_FRAME_TEXT:
-		case AST_FRAME_HTML:
-		case AST_FRAME_IMAGE:
+		default:
 			if (ast_write(chan, f)) {
 				ast_frfree(f);
 				goto end;

Modified: team/group/vldtmf/channel.c
URL: http://svn.digium.com/view/asterisk/team/group/vldtmf/channel.c?rev=39423&r1=39422&r2=39423&view=diff
==============================================================================
--- team/group/vldtmf/channel.c (original)
+++ team/group/vldtmf/channel.c Tue Aug  8 18:31:22 2006
@@ -2028,8 +2028,8 @@
 				}
 			}
 			break;
-		case AST_FRAME_DTMF:
-			ast_log(LOG_DTMF, "DTMF '%c' received on %s\n", f->subclass, chan->name);
+		case AST_FRAME_DTMF_END:
+			ast_log(LOG_DTMF, "DTMF end '%c' received on %s\n", f->subclass, chan->name);
 			if (ast_test_flag(chan, AST_FLAG_DEFER_DTMF)) {
 				if (strlen(chan->dtmfq) < sizeof(chan->dtmfq) - 2)
 					chan->dtmfq[strlen(chan->dtmfq)] = f->subclass;
@@ -2041,9 +2041,6 @@
 			break;
 		case AST_FRAME_DTMF_BEGIN:
 			ast_log(LOG_DTMF, "DTMF begin '%c' received on %s\n", f->subclass, chan->name);
-			break;
-		case AST_FRAME_DTMF_END:
-			ast_log(LOG_DTMF, "DTMF end '%c' received on %s\n", f->subclass, chan->name);
 			break;
 		case AST_FRAME_VOICE:
 			if (dropaudio) {
@@ -2387,10 +2384,12 @@
 			chan->tech->send_digit_begin(chan, fr->subclass);
 		break;
 	case AST_FRAME_DTMF_END:
+	/* XXX Change this once send_digit_end callbacks are implemented */
+#if 0
 		res = (chan->tech->send_digit_end == NULL) ? 0 :
 			chan->tech->send_digit_end(chan);
 		break;
-	case AST_FRAME_DTMF:
+#endif
 		ast_clear_flag(chan, AST_FLAG_BLOCKING);
 		ast_channel_unlock(chan);
 		res = do_senddigit(chan,fr->subclass);

Modified: team/group/vldtmf/include/asterisk/frame.h
URL: http://svn.digium.com/view/asterisk/team/group/vldtmf/include/asterisk/frame.h?rev=39423&r1=39422&r2=39423&view=diff
==============================================================================
--- team/group/vldtmf/include/asterisk/frame.h (original)
+++ team/group/vldtmf/include/asterisk/frame.h Tue Aug  8 18:31:22 2006
@@ -84,11 +84,41 @@
 
 */
 
+/*! Frame types */
+enum ast_frame_type {
+	/*! DTMF end event, subclass is the digit */
+	AST_FRAME_DTMF_END = 1,
+	/*! DTMF begin event, subclass is the digit */
+	AST_FRAME_DTMF_BEGIN,
+	/*! Voice data, subclass is AST_FORMAT_* */
+	AST_FRAME_VOICE,
+	/*! Video frame, maybe?? :) */
+	AST_FRAME_VIDEO,
+	/*! A control frame, subclass is AST_CONTROL_* */
+	AST_FRAME_CONTROL,
+	/*! An empty, useless frame */
+	AST_FRAME_NULL,
+	/*! Inter Asterisk Exchange private frame type */
+	AST_FRAME_IAX,
+	/*! Text messages */
+	AST_FRAME_TEXT,
+	/*! Image Frames */
+	AST_FRAME_IMAGE,
+	/*! HTML Frame */
+	AST_FRAME_HTML,
+	/*! Comfort Noise frame (subclass is level of CNG in -dBov), 
+	    body may include zero or more 8-bit quantization coefficients */
+	AST_FRAME_CNG,
+	/*! Modem-over-IP data streams */
+	AST_FRAME_MODEM,	
+};
+#define AST_FRAME_DTMF AST_FRAME_DTMF_END
+
 /*! \brief Data structure associated with a single frame of data
  */
 struct ast_frame {
 	/*! Kind of frame */
-	int frametype;				
+	enum ast_frame_type frametype;				
 	/*! Subclass, frame dependent */
 	int subclass;				
 	/*! Length of data */
@@ -149,35 +179,6 @@
 #define AST_MALLOCD_DATA	(1 << 1)
 /*! Need the source be free'd? (haha!) */
 #define AST_MALLOCD_SRC		(1 << 2)
-
-/* Frame types */
-/*! A DTMF digit, subclass is the digit */
-#define AST_FRAME_DTMF		1
-/*! Voice data, subclass is AST_FORMAT_* */
-#define AST_FRAME_VOICE		2
-/*! Video frame, maybe?? :) */
-#define AST_FRAME_VIDEO		3
-/*! A control frame, subclass is AST_CONTROL_* */
-#define AST_FRAME_CONTROL	4
-/*! An empty, useless frame */
-#define AST_FRAME_NULL		5
-/*! Inter Asterisk Exchange private frame type */
-#define AST_FRAME_IAX		6
-/*! Text messages */
-#define AST_FRAME_TEXT		7
-/*! Image Frames */
-#define AST_FRAME_IMAGE		8
-/*! HTML Frame */
-#define AST_FRAME_HTML		9
-/*! Comfort Noise frame (subclass is level of CNG in -dBov), 
-    body may include zero or more 8-bit quantization coefficients */
-#define AST_FRAME_CNG		10
-/*! Modem-over-IP data streams */
-#define AST_FRAME_MODEM		11
-/*! DTMF begin event, subclass is the digit */
-#define AST_FRAME_DTMF_BEGIN	12
-/*! DTMF end event, subclass is the digit */
-#define AST_FRAME_DTMF_END	13
 
 /* MODEM subclasses */
 /*! T.38 Fax-over-IP */



More information about the svn-commits mailing list