Author: mjordan
Date: Sat Dec  6 11:19:39 2014
New Revision: 429027

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429027
Log:
apps/app_meetme: Apply default values on initial load with no config file

When the app_meetme module is loaded without its configuration file, the
module settings aren't initialized. In particular, this impacts the use
of logging realtime members. This patch guarantees that we always set the
default module settings on initial load.

Review: https://reviewboard.asterisk.org/r/4242/

ASTERISK-24572 #close
Reported by: Nuno Borges
patches:
  24572.patch uploaded by Nuno Borges (License 6116)

Modified:
    branches/11/apps/app_meetme.c

Modified: branches/11/apps/app_meetme.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/11/apps/app_meetme.c?view=diff&rev=429027&r1=429026&r2=429027
==============================================================================
--- branches/11/apps/app_meetme.c (original)
+++ branches/11/apps/app_meetme.c Sat Dec  6 11:19:39 2014
@@ -5571,21 +5571,8 @@
        return AST_DEVICE_INUSE;
 }
 
-static void load_config_meetme(void)
-{
-       struct ast_config *cfg;
-       struct ast_flags config_flags = { 0 };
-       const char *val;
-
-       if (!(cfg = ast_config_load(CONFIG_FILE_NAME, config_flags))) {
-               return;
-       } else if (cfg == CONFIG_STATUS_FILEINVALID) {
-               ast_log(LOG_ERROR, "Config file " CONFIG_FILE_NAME " is in an 
invalid format.  Aborting.\n");
-               return;
-       }
-
-       audio_buffers = DEFAULT_AUDIO_BUFFERS;
-
+static void meetme_set_defaults(void)
+{
        /*  Scheduling support is off by default */
        rt_schedule = 0;
        fuzzystart = 0;
@@ -5594,7 +5581,29 @@
        extendby = 0;
 
        /*  Logging of participants defaults to ON for compatibility reasons */
-       rt_log_members = 1;  
+       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) {
+               ast_log(LOG_ERROR, "Config file " CONFIG_FILE_NAME " is in an 
invalid format.  Aborting.\n");
+               return;
+       }
+
+       if (reload) {
+               meetme_set_defaults();
+       }
 
        if ((val = ast_variable_retrieve(cfg, "general", "audiobuffers"))) {
                if ((sscanf(val, "%30d", &audio_buffers) != 1)) {
@@ -7801,7 +7810,7 @@
 
 static int load_config(int reload)
 {
-       load_config_meetme();
+       load_config_meetme(reload);
        return sla_load_config(reload);
 }
 


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to