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

Freeswitch SVN anthm at freeswitch.org
Mon Jul 2 16:16:39 EDT 2007


Author: anthm
Date: Mon Jul  2 16:16:38 2007
New Revision: 5488

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

Log:
possible fix for branchcut

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	Mon Jul  2 16:16:38 2007
@@ -1575,6 +1575,7 @@
 		char *digit;
 		switch_event_t *event;
 		caller_control_action_t *caller_action = NULL;
+		int use_timer = 0;
 
 		switch_mutex_lock(member->flag_mutex);
 
@@ -1757,7 +1758,7 @@
 				}
 
 				switch_mutex_unlock(member->audio_out_mutex);
-				switch_core_timer_next(&timer);
+				use_timer = 1;
 
 			} else {
 				if (switch_test_flag(member, MFLAG_WASTE_BANDWIDTH)) {
@@ -1767,11 +1768,17 @@
 					write_frame.timestamp = timer.samplecount;
 					switch_core_session_write_frame(member->session, &write_frame, -1, 0);
 				}
-				switch_core_timer_next(&timer);
+				use_timer = 1;
 			}
 		}
+
 		switch_mutex_unlock(member->flag_mutex);
-	}							/* Rinse ... Repeat */
+
+		if (use_timer) {
+			switch_core_timer_next(&timer);
+		}
+
+	} /* Rinse ... Repeat */
 
 	if (member->digit_stream != NULL) {
 		switch_ivr_digit_stream_destroy(member->digit_stream);



More information about the Freeswitch-svn mailing list