diff options
Diffstat (limited to 'codecs')
-rw-r--r-- | codecs/codec_adpcm.c | 11 | ||||
-rw-r--r-- | codecs/codec_alaw.c | 11 | ||||
-rw-r--r-- | codecs/codec_g722.c | 11 | ||||
-rw-r--r-- | codecs/codec_g726.c | 11 | ||||
-rw-r--r-- | codecs/codec_gsm.c | 11 | ||||
-rw-r--r-- | codecs/codec_lpc10.c | 23 | ||||
-rw-r--r-- | codecs/codec_speex.c | 11 | ||||
-rw-r--r-- | codecs/codec_ulaw.c | 11 | ||||
-rw-r--r-- | codecs/codec_zap.c | 11 |
9 files changed, 60 insertions, 51 deletions
diff --git a/codecs/codec_adpcm.c b/codecs/codec_adpcm.c index fb4bb8bd7..e76470b6c 100644 --- a/codecs/codec_adpcm.c +++ b/codecs/codec_adpcm.c @@ -350,11 +350,12 @@ static struct ast_translator lintoadpcm = { .buf_size = BUFFER_SAMPLES/ 2, /* 2 samples per byte */ }; -static void parse_config(void) +static void parse_config(int reload) { - struct ast_config *cfg = ast_config_load("codecs.conf"); + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); struct ast_variable *var; - if (cfg == NULL) + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var ; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -368,7 +369,7 @@ static void parse_config(void) /*! \brief standard module glue */ static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -386,7 +387,7 @@ static int load_module(void) { int res; - parse_config(); + parse_config(0); res = ast_register_translator(&adpcmtolin); if (!res) res = ast_register_translator(&lintoadpcm); diff --git a/codecs/codec_alaw.c b/codecs/codec_alaw.c index 9edae5130..1c2805535 100644 --- a/codecs/codec_alaw.c +++ b/codecs/codec_alaw.c @@ -134,11 +134,12 @@ static struct ast_translator lintoalaw = { .buf_size = BUFFER_SAMPLES, }; -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); - if (!cfg) + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -153,7 +154,7 @@ static void parse_config(void) static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -171,7 +172,7 @@ static int load_module(void) { int res; - parse_config(); + parse_config(0); res = ast_register_translator(&alawtolin); if (!res) res = ast_register_translator(&lintoalaw); diff --git a/codecs/codec_g722.c b/codecs/codec_g722.c index 46d34f1ba..b2b760912 100644 --- a/codecs/codec_g722.c +++ b/codecs/codec_g722.c @@ -164,12 +164,13 @@ static struct ast_translator lintog722 = { .buf_size = BUFFER_SAMPLES, }; -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); - if (!cfg) + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -183,7 +184,7 @@ static void parse_config(void) static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -203,7 +204,7 @@ static int load_module(void) int res = 0; - parse_config(); + parse_config(0); res |= ast_register_translator(&g722tolin); res |= ast_register_translator(&lintog722); diff --git a/codecs/codec_g726.c b/codecs/codec_g726.c index 425ba9bef..ba80588fa 100644 --- a/codecs/codec_g726.c +++ b/codecs/codec_g726.c @@ -894,12 +894,13 @@ static struct ast_translator g726aal2tog726 = { .buf_size = BUFFER_SAMPLES, }; -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); - if (!cfg) + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -913,7 +914,7 @@ static void parse_config(void) static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -939,7 +940,7 @@ static int load_module(void) int res = 0; - parse_config(); + parse_config(0); res |= ast_register_translator(&g726tolin); res |= ast_register_translator(&lintog726); diff --git a/codecs/codec_gsm.c b/codecs/codec_gsm.c index c346f24cf..b19abfe88 100644 --- a/codecs/codec_gsm.c +++ b/codecs/codec_gsm.c @@ -235,11 +235,12 @@ static struct ast_translator lintogsm = { }; -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); - if (!cfg) + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); + if (!cfg || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -253,7 +254,7 @@ static void parse_config(void) /*! \brief standard module glue */ static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -272,7 +273,7 @@ static int load_module(void) { int res; - parse_config(); + parse_config(0); res = ast_register_translator(&gsmtolin); if (!res) res=ast_register_translator(&lintogsm); diff --git a/codecs/codec_lpc10.c b/codecs/codec_lpc10.c index d4688cd9b..3ed528bef 100644 --- a/codecs/codec_lpc10.c +++ b/codecs/codec_lpc10.c @@ -261,27 +261,28 @@ static struct ast_translator lintolpc10 = { .buf_size = LPC10_BYTES_IN_COMPRESSED_FRAME * (1 + BUFFER_SAMPLES / LPC10_SAMPLES_PER_FRAME), }; -static void parse_config(void) +static void parse_config(int reload) { - struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); - if (!cfg) + struct ast_variable *var; + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { - if (!strcasecmp(var->name, "genericplc")) { + if (!strcasecmp(var->name, "genericplc")) { lpc10tolin.useplc = ast_true(var->value) ? 1 : 0; ast_verb(3, "codec_lpc10: %susing generic PLC\n", lpc10tolin.useplc ? "" : "not "); } - } + } ast_config_destroy(cfg); } static int reload(void) { - parse_config(); + parse_config(1); - return 0; + return 0; } @@ -299,10 +300,10 @@ static int load_module(void) { int res; - parse_config(); - res=ast_register_translator(&lpc10tolin); + parse_config(0); + res = ast_register_translator(&lpc10tolin); if (!res) - res=ast_register_translator(&lintolpc10); + res = ast_register_translator(&lintolpc10); else ast_unregister_translator(&lpc10tolin); diff --git a/codecs/codec_speex.c b/codecs/codec_speex.c index 1cbd5d9fb..c4e24f915 100644 --- a/codecs/codec_speex.c +++ b/codecs/codec_speex.c @@ -375,14 +375,15 @@ static struct ast_translator lintospeex = { .buf_size = BUFFER_SAMPLES * 2, /* XXX maybe a lot less ? */ }; -static void parse_config(void) +static void parse_config(int reload) { - struct ast_config *cfg = ast_config_load("codecs.conf"); + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); struct ast_variable *var; int res; float res_f; - if (cfg == NULL) + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "speex"); var; var = var->next) { @@ -470,7 +471,7 @@ static void parse_config(void) static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -489,7 +490,7 @@ static int load_module(void) { int res; - parse_config(); + parse_config(0); res=ast_register_translator(&speextolin); if (!res) res=ast_register_translator(&lintospeex); diff --git a/codecs/codec_ulaw.c b/codecs/codec_ulaw.c index ce248f1c1..4ffbe835f 100644 --- a/codecs/codec_ulaw.c +++ b/codecs/codec_ulaw.c @@ -147,11 +147,12 @@ static struct ast_translator lintoulaw = { .buffer_samples = BUFFER_SAMPLES, }; -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); - if (!cfg) + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); + if (cfg == NULL || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { @@ -164,7 +165,7 @@ static void parse_config(void) static int reload(void) { - parse_config(); + parse_config(1); return 0; } @@ -183,7 +184,7 @@ static int load_module(void) { int res; - parse_config(); + parse_config(0); res = ast_register_translator(&ulawtolin); if (!res) res = ast_register_translator(&lintoulaw); diff --git a/codecs/codec_zap.c b/codecs/codec_zap.c index 9204baad7..b3226ffc3 100644 --- a/codecs/codec_zap.c +++ b/codecs/codec_zap.c @@ -312,12 +312,13 @@ static void unregister_translators(void) AST_LIST_UNLOCK(&translators); } -static void parse_config(void) +static void parse_config(int reload) { struct ast_variable *var; - struct ast_config *cfg = ast_config_load("codecs.conf"); + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; + struct ast_config *cfg = ast_config_load("codecs.conf", config_flags); - if (!cfg) + if (!cfg || cfg == CONFIG_STATUS_FILEUNCHANGED) return; for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { @@ -387,7 +388,7 @@ static int reload(void) { struct translator *cur; - parse_config(); + parse_config(1); AST_LIST_LOCK(&translators); AST_LIST_TRAVERSE(&translators, cur, entry) @@ -406,7 +407,7 @@ static int unload_module(void) static int load_module(void) { - parse_config(); + parse_config(0); find_transcoders(); return 0; |