[commit] r4327 - in freeswitch/trunk/src: . include
Author: brian Date: Mon Feb 19 16:06:27 2007 New Revision: 4327 Modified: freeswitch/trunk/src/include/switch_types.h freeswitch/trunk/src/switch_core.c freeswitch/trunk/src/switch_event.c freeswitch/trunk/src/switch_ivr.c Log: making private events fire (please test) Modified: freeswitch/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/trunk/src/include/switch_types.h (original) +++ freeswitch/trunk/src/include/switch_types.h Mon Feb 19 16:06:27 2007 @@ -746,6 +746,7 @@ SWITCH_EVENT_CODEC - Codec Change SWITCH_EVENT_BACKGROUND_JOB - Background Job SWITCH_EVENT_DETECTED_SPEECH - Detected Speech + SWITCH_EVENT_PRIVATE_COMMAND - A private command event SWITCH_EVENT_ALL - All events at once </pre> @@ -785,6 +786,7 @@ SWITCH_EVENT_CODEC, SWITCH_EVENT_BACKGROUND_JOB, SWITCH_EVENT_DETECTED_SPEECH, + SWITCH_EVENT_PRIVATE_COMMAND, SWITCH_EVENT_ALL } switch_event_types_t; Modified: freeswitch/trunk/src/switch_core.c ============================================================================== --- freeswitch/trunk/src/switch_core.c (original) +++ freeswitch/trunk/src/switch_core.c Mon Feb 19 16:06:27 2007 @@ -1909,6 +1909,7 @@ } if (session->private_event_queue) { + (*event)->event_id = SWITCH_EVENT_PRIVATE_COMMAND; if (switch_queue_trypush(session->private_event_queue, *event) == SWITCH_STATUS_SUCCESS) { *event = NULL; switch_core_session_kill_channel(session, SWITCH_SIG_BREAK); Modified: freeswitch/trunk/src/switch_event.c ============================================================================== --- freeswitch/trunk/src/switch_event.c (original) +++ freeswitch/trunk/src/switch_event.c Mon Feb 19 16:06:27 2007 @@ -130,6 +130,7 @@ "CODEC", "BACKGROUND_JOB", "DETECTED_SPEECH", + "PRIVATE_COMMAND", "ALL" }; Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Mon Feb 19 16:06:27 2007 @@ -98,6 +98,7 @@ unsigned long CMD_NOMEDIA = apr_hashfunc_default("nomedia", &hlen); assert(channel != NULL); + assert(event != NULL); if (switch_strlen_zero(cmd)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Command!\n"); @@ -170,7 +171,7 @@ if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) { switch_ivr_parse_event(session, event); - switch_event_destroy(&event); + switch_event_fire(&event); } if (switch_channel_has_dtmf(channel)) {
participants (1)
-
Freeswitch SVN