[asterisk-commits] jrose: branch jrose/volume-branch r309344 - /team/jrose/volume-branch/funcs/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Mar 3 12:52:32 CST 2011


Author: jrose
Date: Thu Mar  3 12:52:29 2011
New Revision: 309344

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=309344
Log:
Two code reviews later

Modified:
    team/jrose/volume-branch/funcs/func_volume.c

Modified: team/jrose/volume-branch/funcs/func_volume.c
URL: http://svnview.digium.com/svn/asterisk/team/jrose/volume-branch/funcs/func_volume.c?view=diff&rev=309344&r1=309343&r2=309344
==============================================================================
--- team/jrose/volume-branch/funcs/func_volume.c (original)
+++ team/jrose/volume-branch/funcs/func_volume.c Thu Mar  3 12:52:29 2011
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- An open source telephony toolkit.
  *
- * Copyright (C) 2007, Digium, Inc.
+ * Copyright (C) 2011, Digium, Inc.
  *
  * Joshua Colp <jcolp at digium.com>
  *
@@ -46,6 +46,13 @@
 			<parameter name="direction" required="true">
 				<para>Must be <literal>TX</literal> or <literal>RX</literal>.</para>
 			</parameter>
+			<parameter name="options" >
+				<optionlist>
+					<option name="p">
+						<para>Enable DTMF volume control</para>
+					</option>
+				</optionlist>
+			</parameter>
 		</syntax>
 		<description>
 			<para>The VOLUME function can be used to increase or decrease the <literal>tx</literal> or
@@ -53,6 +60,8 @@
 			<para>For example:</para>
 			<para>Set(VOLUME(TX)=3)</para>
 			<para>Set(VOLUME(RX)=2)</para>
+			<para>Set(VOLUME(TX,p)=3)</para>
+			<para>Set(VOLUME(RX,p)=3></para>
 		</description>
 	</function>
  ***/
@@ -97,7 +106,6 @@
 	struct volume_information *vi = NULL;
 	int *gain = NULL;
 
-
 	/* If the audiohook is stopping it means the channel is shutting down.... but we let the datastore destroy take care of it */
 	if (audiohook->status == AST_AUDIOHOOK_STATUS_DONE)
 		return 0;
@@ -112,14 +120,16 @@
 
 	if (ast_test_flag(vi, VOLUMEFLAG_CHANGE)) {
 		if (frame->frametype == AST_FRAME_DTMF) {
-		/* Only use DTMF coming from the source... not going to it */
-		if (direction != AST_AUDIOHOOK_DIRECTION_READ) { return 0; } 
-		if (frame->subclass.integer == '*') {
-			vi->tx_gain += 1;
-			vi->rx_gain += 1;
-		} else if (frame->subclass.integer == '#') {
-			vi->tx_gain -= 1;
-			vi->rx_gain -= 1;
+			/* Only use DTMF coming from the source... not going to it */
+			if (direction != AST_AUDIOHOOK_DIRECTION_READ) { 
+				return 0; 
+			}
+			if (frame->subclass.integer == '*') {
+				vi->tx_gain += 1;
+				vi->rx_gain += 1;
+			} else if (frame->subclass.integer == '#') {
+				vi->tx_gain -= 1;
+				vi->rx_gain -= 1;
 			}
 		}
 	}
@@ -131,7 +141,7 @@
 		/* Apply gain to frame... easy as pi */
 		ast_frame_adjust_volume(frame, *gain);
 	}
-	
+
 	return 0;
 }
 
@@ -183,12 +193,14 @@
 
 	/* Add Option data to struct */
 	
-	if (!ast_strlen_zero(args.direction)) {
+	if (!ast_strlen_zero(args.options)) {
 		struct ast_flags flags = { 0 };
 		ast_app_parse_options(volume_opts, &flags, &data, args.options);
 		vi->flags = flags.flags;
 	}
-	else { vi->flags = 0; }
+	else { 
+		vi->flags = 0; 
+	}
 
 	return 0;
 }




More information about the asterisk-commits mailing list