Merge pull request #2678 from signalwire/SWITCH_SPEECH_FLAG_MULTI

[Core] Add new SWITCH_SPEECH_FLAG_MULTI flag and check it in switch_ivr_speak_text_handle().
This commit is contained in:
Andrey Volk 2024-12-31 00:38:11 +03:00 committed by GitHub
commit a6b114a630
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View File

@ -1795,7 +1795,8 @@ typedef enum {
SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
SWITCH_SPEECH_FLAG_PAUSE = (1 << 4),
SWITCH_SPEECH_FLAG_OPEN = (1 << 5),
SWITCH_SPEECH_FLAG_DONE = (1 << 6)
SWITCH_SPEECH_FLAG_DONE = (1 << 6),
SWITCH_SPEECH_FLAG_MULTI = (1 << 7)
} switch_speech_flag_enum_t;
typedef uint32_t switch_speech_flag_t;

View File

@ -2823,6 +2823,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_speak_text_handle(switch_core_session
}
switch_core_speech_feed_tts(sh, text, &flags);
if ((sh->flags & SWITCH_SPEECH_FLAG_MULTI)) {
flags = SWITCH_SPEECH_FLAG_DONE;
switch_core_speech_feed_tts(sh, "DONE", &flags);
}
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Speaking text: %s\n", text);
switch_safe_free(tmp);
text = NULL;