mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-08 12:34:53 +00:00
fix recursion error
This commit is contained in:
1 parent
779564de50
commit
8be9d429fb
6 files changed
+112
-14
No files matched your search
@@ -616,7 +616,7 @@ static void *SWITCH_THREAD_FUNC echo_video_thread(switch_thread_t *thread, void
|
||||
}
|
||||
#endif
|
||||
|
||||
SWITCH_DECLARE(void) switch_ivr_session_echo(switch_core_session_t *session, switch_input_args_t *args)
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *session, switch_input_args_t *args)
|
||||
{
|
||||
switch_status_t status;
|
||||
switch_frame_t *read_frame;
|
||||
@@ -630,9 +630,11 @@ SWITCH_DECLARE(void) switch_ivr_session_echo(switch_core_session_t *session, swi
|
||||
#endif
|
||||
|
||||
if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) {
|
||||
return;
|
||||
return SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
||||
arg_recursion_check_start(args);
|
||||
|
||||
restart:
|
||||
|
||||
#ifdef SWITCH_VIDEO_IN_THREADS
|
||||
@@ -725,6 +727,7 @@ SWITCH_DECLARE(void) switch_ivr_session_echo(switch_core_session_t *session, swi
|
||||
}
|
||||
#endif
|
||||
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
@@ -3413,6 +3416,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_and_detect_speech(switch_core_se
|
||||
play_and_detect_speech_state_t state = { 0, "" };
|
||||
switch_channel_t *channel = switch_core_session_get_channel(session);
|
||||
|
||||
arg_recursion_check_start(args);
|
||||
|
||||
if (result == NULL) {
|
||||
goto done;
|
||||
}
|
||||
@@ -3474,6 +3479,8 @@ done:
|
||||
status = SWITCH_STATUS_FALSE;
|
||||
}
|
||||
|
||||
arg_recursion_check_stop(args);
|
||||
|
||||
return status;;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user