]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-400
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 22 Feb 2010 19:46:34 +0000 (19:46 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 22 Feb 2010 19:46:34 +0000 (19:46 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16723 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index e108dc89ecb50ff2863598a36b5d49f056cdad7a..79617c441ff5eb1777be4fc7c382638c3fbede0a 100644 (file)
@@ -1008,12 +1008,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
                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 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
                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;