apps/app_meetme: Apply default values on initial load with no config file
[asterisk/asterisk.git] / apps / app_meetme.c
index bb87381..bc30f29 100644 (file)
@@ -5770,12 +5770,29 @@ static enum ast_device_state meetmestate(const char *data)
        return AST_DEVICE_INUSE;
 }
 
-static void load_config_meetme(void)
+static void meetme_set_defaults(void)
+{
+       /*  Scheduling support is off by default */
+       rt_schedule = 0;
+       fuzzystart = 0;
+       earlyalert = 0;
+       endalert = 0;
+       extendby = 0;
+
+       /*  Logging of participants defaults to ON for compatibility reasons */
+       rt_log_members = 1;
+}
+
+static void load_config_meetme(int reload)
 {
        struct ast_config *cfg;
        struct ast_flags config_flags = { 0 };
        const char *val;
 
+       if (!reload) {
+               meetme_set_defaults();
+       }
+
        if (!(cfg = ast_config_load(CONFIG_FILE_NAME, config_flags))) {
                return;
        } else if (cfg == CONFIG_STATUS_FILEINVALID) {
@@ -5783,17 +5800,9 @@ static void load_config_meetme(void)
                return;
        }
 
-       audio_buffers = DEFAULT_AUDIO_BUFFERS;
-
-       /*  Scheduling support is off by default */
-       rt_schedule = 0;
-       fuzzystart = 0;
-       earlyalert = 0;
-       endalert = 0;
-       extendby = 0;
-
-       /*  Logging of participants defaults to ON for compatibility reasons */
-       rt_log_members = 1;  
+       if (reload) {
+               meetme_set_defaults();
+       }
 
        if ((val = ast_variable_retrieve(cfg, "general", "audiobuffers"))) {
                if ((sscanf(val, "%30d", &audio_buffers) != 1)) {
@@ -8000,7 +8009,7 @@ static struct ast_custom_function meetme_info_acf = {
 
 static int load_config(int reload)
 {
-       load_config_meetme();
+       load_config_meetme(reload);
        return sla_load_config(reload);
 }