[Asterisk-cvs] asterisk/codecs codec_speex.c,1.15,1.16

kpfleming at lists.digium.com kpfleming at lists.digium.com
Tue Jun 21 19:15:47 CDT 2005


Update of /usr/cvsroot/asterisk/codecs
In directory mongoose.digium.com:/tmp/cvs-serv9162/codecs

Modified Files:
	codec_speex.c 
Log Message:
various speex fixes (bug #4253)


Index: codec_speex.c
===================================================================
RCS file: /usr/cvsroot/asterisk/codecs/codec_speex.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- codec_speex.c	6 Jun 2005 23:12:05 -0000	1.15
+++ codec_speex.c	21 Jun 2005 23:16:32 -0000	1.16
@@ -27,7 +27,7 @@
 static int enhancement = 0;
 static int vad = 0;
 static int vbr = 0;
-static int vbr_quality = 0;
+static float vbr_quality = 0;
 static int abr = 0;
 static int dtx = 0;
 
@@ -92,7 +92,7 @@
 				if (vad)
 					speex_encoder_ctl(tmp->speex, SPEEX_SET_VAD, &vad);
 				if (dtx)
-					speex_encoder_ctl(tmp->speex, SPEEX_SET_DTX, &vad);
+					speex_encoder_ctl(tmp->speex, SPEEX_SET_DTX, &dtx); 
 			}
 			if (vbr) {
 				speex_encoder_ctl(tmp->speex, SPEEX_SET_VBR, &vbr);
@@ -326,6 +326,7 @@
 	struct ast_config *cfg;
 	struct ast_variable *var;
 	int res;
+	float res_f;
 
 	if ((cfg = ast_config_load("codecs.conf"))) {
 		if ((var = ast_variable_browse(cfg, "speex"))) {
@@ -351,12 +352,12 @@
 					} else 
 						ast_log(LOG_ERROR,"Error! Complexity must be 0-10\n");
 				} else if (!strcasecmp(var->name, "vbr_quality")) {
-					res = abs(atoi(var->value));
+					res_f = abs(atof(var->value));
 					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "CODEC SPEEX: Setting VBR Quality to %d\n",res);
-					if (res > -1 && res < 11) {
+						ast_verbose(VERBOSE_PREFIX_3 "CODEC SPEEX: Setting VBR Quality to %f\n",res_f);
+					if (res_f >= 0 && res_f <= 10) {
 						ast_mutex_lock(&localuser_lock);
-						vbr_quality = res;
+						vbr_quality = res_f;
 						ast_mutex_unlock(&localuser_lock);
 					} else 
 						ast_log(LOG_ERROR,"Error! VBR Quality must be 0-10\n");
@@ -392,7 +393,7 @@
 					ast_mutex_lock(&localuser_lock);
 					vad = ast_true(var->value) ? 1 : 0;
 					if (option_verbose > 2)
-						ast_verbose(VERBOSE_PREFIX_3 "CODEC SPEEX: VAD Mode. [%s]\n",vbr ? "on" : "off");
+						ast_verbose(VERBOSE_PREFIX_3 "CODEC SPEEX: VAD Mode. [%s]\n",vad ? "on" : "off");
 					ast_mutex_unlock(&localuser_lock);
 				} else if (!strcasecmp(var->name, "dtx")) {
 					ast_mutex_lock(&localuser_lock);




More information about the svn-commits mailing list