|
|
|
@ -24,8 +24,6 @@ static int abr = 0;
|
|
|
|
|
static int abr_quality = 0;
|
|
|
|
|
static int dtx = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define TYPE_SILENCE 0x2
|
|
|
|
|
#define TYPE_HIGH 0x0
|
|
|
|
|
#define TYPE_LOW 0x1
|
|
|
|
@ -99,7 +97,6 @@ static struct ast_translator_pvt *lintospeex_new(void)
|
|
|
|
|
speex_encoder_ctl(tmp->speex, SPEEX_SET_VBR, &abr);
|
|
|
|
|
speex_encoder_ctl(tmp->speex, SPEEX_SET_VBR_QUALITY, &abr_quality);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tmp->tail = 0;
|
|
|
|
|
}
|
|
|
|
|
localusecnt++;
|
|
|
|
@ -305,10 +302,12 @@ static struct ast_translator lintospeex =
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void parse_config(void) {
|
|
|
|
|
static void parse_config(void)
|
|
|
|
|
{
|
|
|
|
|
struct ast_config *cfg;
|
|
|
|
|
struct ast_variable *var;
|
|
|
|
|
int res;
|
|
|
|
|
|
|
|
|
|
if ((cfg = ast_load("codecs.conf"))) {
|
|
|
|
|
if ((var = ast_variable_browse(cfg, "speex"))) {
|
|
|
|
|
while (var) {
|
|
|
|
@ -320,8 +319,8 @@ static void parse_config(void) {
|
|
|
|
|
ast_mutex_lock(&localuser_lock);
|
|
|
|
|
quality = res;
|
|
|
|
|
ast_mutex_unlock(&localuser_lock);
|
|
|
|
|
} else ast_log(LOG_ERROR,"Error Quality must be 0-10\n");
|
|
|
|
|
|
|
|
|
|
} else
|
|
|
|
|
ast_log(LOG_ERROR,"Error Quality must be 0-10\n");
|
|
|
|
|
} else if (!strcasecmp(var->name, "complexity")) {
|
|
|
|
|
res = abs(atoi(var->value));
|
|
|
|
|
if (option_verbose > 2)
|
|
|
|
@ -330,7 +329,8 @@ static void parse_config(void) {
|
|
|
|
|
ast_mutex_lock(&localuser_lock);
|
|
|
|
|
complexity = res;
|
|
|
|
|
ast_mutex_unlock(&localuser_lock);
|
|
|
|
|
} else ast_log(LOG_ERROR,"Error! Complexity must be 0-10\n");
|
|
|
|
|
} else
|
|
|
|
|
ast_log(LOG_ERROR,"Error! Complexity must be 0-10\n");
|
|
|
|
|
} else if (!strcasecmp(var->name, "vbr_quality")) {
|
|
|
|
|
res = abs(atoi(var->value));
|
|
|
|
|
if (option_verbose > 2)
|
|
|
|
@ -339,7 +339,8 @@ static void parse_config(void) {
|
|
|
|
|
ast_mutex_lock(&localuser_lock);
|
|
|
|
|
vbr_quality = res;
|
|
|
|
|
ast_mutex_unlock(&localuser_lock);
|
|
|
|
|
} else ast_log(LOG_ERROR,"Error! VBR Quality must be 0-10\n");
|
|
|
|
|
} else
|
|
|
|
|
ast_log(LOG_ERROR,"Error! VBR Quality must be 0-10\n");
|
|
|
|
|
} else if (!strcasecmp(var->name, "abr_quality")) {
|
|
|
|
|
res = abs(atoi(var->value));
|
|
|
|
|
if (option_verbose > 2)
|
|
|
|
@ -348,8 +349,8 @@ static void parse_config(void) {
|
|
|
|
|
ast_mutex_lock(&localuser_lock);
|
|
|
|
|
abr_quality = res;
|
|
|
|
|
ast_mutex_unlock(&localuser_lock);
|
|
|
|
|
} else ast_log(LOG_ERROR,"Error! ABR Quality must be 0-10\n");
|
|
|
|
|
|
|
|
|
|
} else
|
|
|
|
|
ast_log(LOG_ERROR,"Error! ABR Quality must be 0-10\n");
|
|
|
|
|
} else if (!strcasecmp(var->name, "enhancement")) {
|
|
|
|
|
ast_mutex_lock(&localuser_lock);
|
|
|
|
|
enhancement = ast_true(var->value) ? 1 : 0;
|
|
|
|
@ -387,7 +388,8 @@ static void parse_config(void) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int reload(void) {
|
|
|
|
|
int reload(void)
|
|
|
|
|
{
|
|
|
|
|
parse_config();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|