[Freeswitch-svn] [commit] r12466 - in freeswitch/trunk/src: . mod/applications/mod_conference
FreeSWITCH SVN
anthm at freeswitch.org
Thu Mar 5 08:53:31 PST 2009
Author: anthm
Date: Thu Mar 5 10:53:31 2009
New Revision: 12466
Log:
MODAPP-226
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/switch_ivr.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 5 10:53:31 2009
@@ -1563,7 +1563,7 @@
while (switch_test_flag(member, MFLAG_RUNNING) && switch_channel_ready(channel)) {
- if (switch_channel_test_flag(channel, CF_SERVICE)) {
+ if (switch_channel_test_app_flag(channel, CF_APP_TAGGED)) {
switch_yield(100000);
continue;
}
@@ -1878,7 +1878,7 @@
}
if (restarting) {
- switch_channel_clear_flag(channel, CF_SERVICE);
+ switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
}
/* Fair WARNING, If you expect the caller to hear anything or for digit handling to be processed, */
@@ -2094,9 +2094,9 @@
if (switch_core_session_private_event_count(member->session)) {
- switch_channel_set_flag(channel, CF_SERVICE);
+ switch_channel_set_app_flag(channel, CF_APP_TAGGED);
switch_ivr_parse_all_events(member->session);
- switch_channel_clear_flag(channel, CF_SERVICE);
+ switch_channel_clear_app_flag(channel, CF_APP_TAGGED);
switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER);
switch_core_session_set_read_codec(member->session, &member->read_codec);
}
@@ -3697,7 +3697,7 @@
if (setup_media(member, new_conference)) {
switch_clear_flag_locked(member, MFLAG_RUNNING);
} else {
- switch_channel_set_flag(channel, CF_SERVICE);
+ switch_channel_set_app_flag(channel, CF_APP_TAGGED);
switch_set_flag_locked(member, MFLAG_RESTART);
}
}
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Thu Mar 5 10:53:31 2009
@@ -975,9 +975,10 @@
switch_ivr_parse_all_events(session);
}
-
+
if (eff_timeout) {
digit_elapsed = (uint32_t) ((switch_micro_time_now() - digit_started) / 1000);
+
if (digit_elapsed >= eff_timeout) {
status = SWITCH_STATUS_TIMEOUT;
break;
@@ -987,7 +988,7 @@
if (switch_channel_has_dtmf(channel)) {
switch_dtmf_t dtmf = { 0 };
switch_size_t y;
-
+
if (eff_timeout) {
eff_timeout = digit_timeout;
digit_started = switch_micro_time_now();
@@ -1006,6 +1007,7 @@
buf[x++] = dtmf.digit;
buf[x] = '\0';
+
if (x >= buflen || x >= maxdigits) {
return SWITCH_STATUS_SUCCESS;
}
More information about the Freeswitch-svn
mailing list