]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3124 Use the channel's sound_prefix if it's not set in the conference's config
authorMathieu Rene <mrene@avgs.ca>
Sat, 5 Mar 2011 17:49:19 +0000 (12:49 -0500)
committerMathieu Rene <mrene@avgs.ca>
Sat, 5 Mar 2011 17:49:19 +0000 (12:49 -0500)
conf/autoload_configs/conference.conf.xml
src/mod/applications/mod_conference/mod_conference.c

index cab0578a5723edfc119912e6aed9243d50224517..d4e5aa60ee8ab19ffb73063a0b2f32aa31aba34d 100644 (file)
@@ -52,8 +52,9 @@
 
       <!-- If TTS is enabled all audio-file params beginning with -->
       <!-- 'say:' will be considered text to say with TTS -->
-      <!-- Set a default path here so you can use relative paths in the other sound params-->
-      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!-- Override the default path here, after which you use relative paths in the other sound params -->
+      <!-- Note: The default path is the conference's first caller's sound_prefix -->
+      <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>-->
       <!-- File to play to acknowledge succees -->
       <!--<param name="ack-sound" value="beep.wav"/>-->
       <!-- File to play to acknowledge failure -->
       <param name="rate" value="16000"/>
       <param name="interval" value="20"/>
       <param name="energy-level" value="300"/>
-      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>-->
       <param name="muted-sound" value="conference/conf-muted.wav"/>
       <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
       <param name="alone-sound" value="conference/conf-alone.wav"/>
       <param name="rate" value="32000"/>
       <param name="interval" value="20"/>
       <param name="energy-level" value="300"/>
-      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>-->
       <param name="muted-sound" value="conference/conf-muted.wav"/>
       <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
       <param name="alone-sound" value="conference/conf-alone.wav"/>
       <param name="rate" value="48000"/>
       <param name="interval" value="10"/>
       <param name="energy-level" value="300"/>
-      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!--<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>-->
       <param name="muted-sound" value="conference/conf-muted.wav"/>
       <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
       <param name="alone-sound" value="conference/conf-alone.wav"/>
index 6892cbab9e0e4e25b60bd9bd5e15455c84c7e13f..56c85ad2f3e5f71574ca45b495b58b1d53436b64 100644 (file)
@@ -6423,6 +6423,7 @@ static conference_obj_t *conference_new(char *name, conf_xml_cfg_t cfg, switch_c
                                        comfort_noise_level = 1400;
                                }
                        } else if (!strcasecmp(var, "sound-prefix") && !zstr(val)) {
+                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "override sound-prefix with: %s\n", val);
                                sound_prefix = val;
                        } else if (!strcasecmp(var, "max-members") && !zstr(val)) {
                                errno = 0;              /* sanity first */
@@ -6527,8 +6528,15 @@ static conference_obj_t *conference_new(char *name, conf_xml_cfg_t cfg, switch_c
                set_cflags(conference_flags, &conference->flags);
        }
 
-       if (sound_prefix) {
+       if (!zstr(sound_prefix)) {
                conference->sound_prefix = switch_core_strdup(conference->pool, sound_prefix);
+       } else {
+               const char *val;
+               if ((val = switch_channel_get_variable(channel, "sound_prefix")) && !zstr(val)) {
+                       /* if no sound_prefix was set, use the channel sound_prefix */
+                       conference->sound_prefix = switch_core_strdup(conference->pool, val);
+                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "using channel sound prefix: %s\n", conference->sound_prefix);
+               }
        }
 
        if (!zstr(enter_sound)) {