[Freeswitch-svn] [commit] r11307 - freeswitch/trunk/src

FreeSWITCH SVN anthm at freeswitch.org
Tue Jan 20 05:55:00 PST 2009


Author: anthm
Date: Tue Jan 20 07:55:00 2009
New Revision: 11307

Log:
MODAPP-201

Modified:
   freeswitch/trunk/src/switch_core_media_bug.c

Modified: freeswitch/trunk/src/switch_core_media_bug.c
==============================================================================
--- freeswitch/trunk/src/switch_core_media_bug.c	(original)
+++ freeswitch/trunk/src/switch_core_media_bug.c	Tue Jan 20 07:55:00 2009
@@ -235,7 +235,6 @@
 	bug->flags = flags;
 
 	bug->stop_time = stop_time;
-	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Attaching BUG to %s\n", switch_channel_get_name(session->channel));
 	bytes = session->read_codec->implementation->decoded_bytes_per_packet;
 
 	if (!bug->flags) {
@@ -258,6 +257,16 @@
 		bug->thread_id = switch_thread_self();
 	}
 
+	if (bug->callback) {
+		switch_bool_t result = bug->callback(bug, bug->user_data, SWITCH_ABC_TYPE_INIT);
+		if (result == SWITCH_FALSE) {
+			switch_core_media_bug_remove(session, new_bug);
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error attaching BUG to %s\n", switch_channel_get_name(session->channel));
+			return SWITCH_STATUS_GENERR;
+		}
+	}
+
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Attaching BUG to %s\n", switch_channel_get_name(session->channel));
 	bug->ready = 1;
 	switch_thread_rwlock_wrlock(session->bug_rwlock);
 	bug->next = session->bugs;
@@ -265,13 +274,6 @@
 	switch_thread_rwlock_unlock(session->bug_rwlock);
 	*new_bug = bug;
 
-	if (bug->callback) {
-		switch_bool_t result = bug->callback(bug, bug->user_data, SWITCH_ABC_TYPE_INIT);
-		if (result == SWITCH_FALSE) {
-			return switch_core_media_bug_remove(session, new_bug);
-		}
-	}
-
 	return SWITCH_STATUS_SUCCESS;
 }
 



More information about the Freeswitch-svn mailing list