Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (16722 => 16723)
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c 2010-02-22 19:18:11 UTC (rev 16722)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c 2010-02-22 19:46:34 UTC (rev 16723)
@@ -1008,12 +1008,6 @@
switch_size_t file_data_len = samples * 2;
int has_file_data = 0, members_with_video = 0;
- if (conference->perpetual_sound && !conference->async_fnode) {
- conference_play_file(conference, conference->perpetual_sound, CONF_DEFAULT_LEADIN, NULL, 1);
- } else if (conference->moh_sound && (conference->count == 1 || switch_test_flag(conference, CFLAG_WAIT_MOD)) && !conference->async_fnode) {
- conference_play_file(conference, conference->moh_sound, CONF_DEFAULT_LEADIN, NULL, 1);
- }
-
/* Sync the conference to a single timing source */
if (switch_core_timer_next(&timer) != SWITCH_STATUS_SUCCESS) {
switch_set_flag(conference, CFLAG_DESTRUCT);
@@ -1023,6 +1017,12 @@
switch_mutex_lock(conference->mutex);
has_file_data = ready = total = 0;
+ if (conference->perpetual_sound && !conference->async_fnode) {
+ conference_play_file(conference, conference->perpetual_sound, CONF_DEFAULT_LEADIN, NULL, 1);
+ } else if (conference->moh_sound && (conference->count == 1 || switch_test_flag(conference, CFLAG_WAIT_MOD)) && !conference->async_fnode) {
+ conference_play_file(conference, conference->moh_sound, CONF_DEFAULT_LEADIN, NULL, 1);
+ }
+
/* Read one frame of audio from each member channel and save it for redistribution */
for (imember = conference->members; imember; imember = imember->next) {
uint32_t buf_read = 0;