From 9d22d76b32c7107ca5cabbfc43e8d3d3b499d085 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sun, 29 Apr 2007 16:34:00 +0000 Subject: [PATCH] fix form MODLANG-13 from Matt brown, thanks Matt. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5041 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../languages/mod_python/freeswitch_python.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/mod/languages/mod_python/freeswitch_python.cpp b/src/mod/languages/mod_python/freeswitch_python.cpp index d67a3c4c0c..bdaebb1d79 100644 --- a/src/mod/languages/mod_python/freeswitch_python.cpp +++ b/src/mod/languages/mod_python/freeswitch_python.cpp @@ -76,17 +76,19 @@ void SessionContainer::set_state(char *state) int SessionContainer::play_file(char *file, char *timer_name) { switch_status_t status; + switch_input_args_t args = { 0 }; if (switch_strlen_zero(timer_name)) { timer_name = NULL; } if (!dtmfCallbackFunction) { - status = switch_ivr_play_file(session, NULL, file, timer_name, NULL, NULL, 0); + status = switch_ivr_play_file(session, NULL, file, &args); } else { globalDTMFCallbackFunction = dtmfCallbackFunction; - status = switch_ivr_play_file(session, NULL, file, timer_name, PythonDTMFCallback, NULL, 0); + args.input_callback = PythonDTMFCallback; + status = switch_ivr_play_file(session, NULL, file, &args); } return status == SWITCH_STATUS_SUCCESS ? 1 : 0; @@ -106,13 +108,19 @@ void SessionContainer::set_dtmf_callback(PyObject *pyfunc) int SessionContainer::speak_text(char *text) { switch_status_t status; + switch_codec_t *codec; + switch_input_args_t args = { 0 }; + codec = switch_core_session_get_read_codec(session); if (!dtmfCallbackFunction) { - status = switch_ivr_speak_text(session, tts_name, voice_name, NULL, 0, NULL, text, NULL, 0); + status = switch_ivr_speak_text(session, tts_name, voice_name, + codec->implementation->samples_per_second, text, &args); } else { globalDTMFCallbackFunction = dtmfCallbackFunction; - status = switch_ivr_speak_text(session, tts_name, voice_name, NULL, 0, PythonDTMFCallback, text, NULL, 0); + args.input_callback = PythonDTMFCallback; + status = switch_ivr_speak_text(session, tts_name, voice_name, + codec->implementation->samples_per_second, text, &args); } return status == SWITCH_STATUS_SUCCESS ? 1 : 0; @@ -151,3 +159,4 @@ int SessionContainer::play_and_get_digits(int min_digits, int max_digits, int ma return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } +