[Freeswitch-trunk] [commit] r12582 - freeswitch/trunk/src/mod/applications/mod_conference

FreeSWITCH SVN anthm at freeswitch.org
Thu Mar 12 08:09:31 PDT 2009


Author: anthm
Date: Thu Mar 12 10:09:31 2009
New Revision: 12582

Log:
MODAPP-233 (recording members should be invisible to commands

Modified:
   freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c

Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	Thu Mar 12 10:09:31 2009
@@ -2274,7 +2274,7 @@
 	if (switch_test_flag((&fh), SWITCH_FILE_OPEN)) {
 		switch_core_file_close(&fh);
 	}
-	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Recording Stopped\n");
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Recording of %s Stopped\n", rec->path);
 
 	if (rec->pool) {
 		switch_memory_pool_t *pool = rec->pool;
@@ -2728,7 +2728,9 @@
 
 	switch_mutex_lock(conference->member_mutex);
 	for (member = conference->members; member; member = member->next) {
-		pfncallback(member, stream, data);
+		if (member->session && !switch_test_flag(member, MFLAG_NOCHANNEL)) {
+			pfncallback(member, stream, data);
+		}
 	}
 	switch_mutex_unlock(conference->member_mutex);
 }
@@ -2926,6 +2928,7 @@
 	switch_mutex_lock(member->control_mutex);
 	switch_clear_flag(member, MFLAG_RUNNING);
 	switch_set_flag_locked(member, MFLAG_KICKED);
+
 	switch_core_session_kill_channel(member->session, SWITCH_SIG_BREAK);
 	switch_mutex_unlock(member->control_mutex);
 	if (stream != NULL) {
@@ -3907,7 +3910,7 @@
 						}
 
 						/* exec functio on last (oldest) member */
-						if (last_member != NULL) {
+						if (last_member != NULL && last_member->session && !switch_test_flag(last_member, MFLAG_NOCHANNEL)) {
 							conf_api_member_cmd_t pfn = (conf_api_member_cmd_t) conf_api_sub_commands[i].pfnapicmd;
 							pfn(last_member, stream, argv[argn + 2]);
 						}



More information about the Freeswitch-trunk mailing list