FS-5773 --resolve mod_ssml: allow rendering of documents if TTS is not configured
This commit is contained in:
parent
b29a4eb39f
commit
d61a5b8135
|
@ -692,11 +692,14 @@ static int get_file_from_macro(struct ssml_parser *parsed_data, char *to_say)
|
||||||
static int get_file_from_voice(struct ssml_parser *parsed_data, char *to_say)
|
static int get_file_from_voice(struct ssml_parser *parsed_data, char *to_say)
|
||||||
{
|
{
|
||||||
struct ssml_node *cur_node = parsed_data->cur_node;
|
struct ssml_node *cur_node = parsed_data->cur_node;
|
||||||
char *file = switch_core_sprintf(parsed_data->pool, "%s%s", cur_node->tts_voice->prefix, to_say);
|
if (cur_node->tts_voice) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding <%s>: \"%s\"\n", cur_node->tag_name, file);
|
char *file = switch_core_sprintf(parsed_data->pool, "%s%s", cur_node->tts_voice->prefix, to_say);
|
||||||
parsed_data->files[parsed_data->num_files].name = file;
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Adding <%s>: \"%s\"\n", cur_node->tag_name, file);
|
||||||
parsed_data->files[parsed_data->num_files++].prefix = NULL;
|
parsed_data->files[parsed_data->num_files].name = file;
|
||||||
return 1;
|
parsed_data->files[parsed_data->num_files++].prefix = NULL;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -708,7 +711,7 @@ static int process_cdata_tts(struct ssml_parser *parsed_data, char *data, size_t
|
||||||
if (!len) {
|
if (!len) {
|
||||||
return IKS_OK;
|
return IKS_OK;
|
||||||
}
|
}
|
||||||
if (cur_node && cur_node->tts_voice && parsed_data->num_files < parsed_data->max_files) {
|
if (cur_node && parsed_data->num_files < parsed_data->max_files) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int empty = 1;
|
int empty = 1;
|
||||||
char *to_say;
|
char *to_say;
|
||||||
|
@ -728,7 +731,9 @@ static int process_cdata_tts(struct ssml_parser *parsed_data, char *data, size_t
|
||||||
to_say[len] = '\0';
|
to_say[len] = '\0';
|
||||||
if (!cur_node->say_macro || !get_file_from_macro(parsed_data, to_say)) {
|
if (!cur_node->say_macro || !get_file_from_macro(parsed_data, to_say)) {
|
||||||
/* use voice instead */
|
/* use voice instead */
|
||||||
get_file_from_voice(parsed_data, to_say);
|
if (!get_file_from_voice(parsed_data, to_say)) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "No TTS voices available to render text!\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
free(to_say);
|
free(to_say);
|
||||||
return IKS_OK;
|
return IKS_OK;
|
||||||
|
|
Loading…
Reference in New Issue