mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 11:28:25 +00:00
_dsp_init: bring inline with trunk
preparation for clean merge of DTMF TWIST patch No functional changes, just style. alecdavis (license 585) Reported by: Alec Davis Tested by: alecdavis related https://reviewboard.asterisk.org/r/2141 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@374365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
38
main/dsp.c
38
main/dsp.c
@@ -1734,33 +1734,34 @@ int ast_dsp_get_tcount(struct ast_dsp *dsp)
|
||||
|
||||
static int _dsp_init(int reload)
|
||||
{
|
||||
struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
|
||||
struct ast_config *cfg;
|
||||
struct ast_variable *v;
|
||||
struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
|
||||
int cfg_threshold;
|
||||
|
||||
if ((cfg = ast_config_load2(CONFIG_FILE_NAME, "dsp", config_flags)) == CONFIG_STATUS_FILEUNCHANGED) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
thresholds[THRESHOLD_SILENCE] = DEFAULT_SILENCE_THRESHOLD;
|
||||
|
||||
cfg = ast_config_load2(CONFIG_FILE_NAME, "dsp", config_flags);
|
||||
if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEINVALID) {
|
||||
ast_verb(5, "Can't find dsp config file %s. Assuming default silencethreshold of %d.\n", CONFIG_FILE_NAME, DEFAULT_SILENCE_THRESHOLD);
|
||||
thresholds[THRESHOLD_SILENCE] = DEFAULT_SILENCE_THRESHOLD;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (cfg == CONFIG_STATUS_FILEUNCHANGED) {
|
||||
return 0;
|
||||
for (v = ast_variable_browse(cfg, "default"); v; v = v->next) {
|
||||
if (!strcasecmp(v->name, "silencethreshold")) {
|
||||
if (sscanf(v->value, "%30d", &cfg_threshold) < 1) {
|
||||
ast_log(LOG_WARNING, "Unable to convert '%s' to a numeric value.\n", v->value);
|
||||
} else if (cfg_threshold < 0) {
|
||||
ast_log(LOG_WARNING, "Invalid silence threshold '%d' specified, using default\n", cfg_threshold);
|
||||
} else {
|
||||
thresholds[THRESHOLD_SILENCE] = cfg_threshold;
|
||||
}
|
||||
}
|
||||
|
||||
if (cfg) {
|
||||
const char *value;
|
||||
|
||||
value = ast_variable_retrieve(cfg, "default", "silencethreshold");
|
||||
if (value && sscanf(value, "%30d", &thresholds[THRESHOLD_SILENCE]) != 1) {
|
||||
ast_verb(5, "%s: '%s' is not a valid silencethreshold value\n", CONFIG_FILE_NAME, value);
|
||||
thresholds[THRESHOLD_SILENCE] = DEFAULT_SILENCE_THRESHOLD;
|
||||
} else if (!value) {
|
||||
thresholds[THRESHOLD_SILENCE] = DEFAULT_SILENCE_THRESHOLD;
|
||||
}
|
||||
|
||||
ast_config_destroy(cfg);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1778,4 +1779,3 @@ int ast_dsp_reload(void)
|
||||
{
|
||||
return _dsp_init(1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user