diff --git a/src/mod/asr_tts/mod_flite/mod_flite.c b/src/mod/asr_tts/mod_flite/mod_flite.c index c9cb69f6f6..b21b86b841 100644 --- a/src/mod/asr_tts/mod_flite/mod_flite.c +++ b/src/mod/asr_tts/mod_flite/mod_flite.c @@ -72,7 +72,7 @@ typedef struct flite_data flite_t; #define free_wave(w) if (w) {delete_wave(w) ; w = NULL; } #define FLITE_BLOCK_SIZE 1024 * 32 -static switch_status_t flite_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, switch_speech_flag_t *flags) +static switch_status_t flite_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, int channels, switch_speech_flag_t *flags) { flite_t *flite = switch_core_alloc(sh->memory_pool, sizeof(*flite)); diff --git a/src/mod/asr_tts/mod_unimrcp/mod_unimrcp.c b/src/mod/asr_tts/mod_unimrcp/mod_unimrcp.c index b0c4d98150..db50ef3056 100644 --- a/src/mod/asr_tts/mod_unimrcp/mod_unimrcp.c +++ b/src/mod/asr_tts/mod_unimrcp/mod_unimrcp.c @@ -378,7 +378,7 @@ static switch_status_t synth_load(switch_loadable_module_interface_t *module_int static switch_status_t synth_shutdown(); /* synthesizer's interface for FreeSWITCH */ -static switch_status_t synth_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, switch_speech_flag_t *flags); +static switch_status_t synth_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, int channels, switch_speech_flag_t *flags); static switch_status_t synth_speech_close(switch_speech_handle_t *sh, switch_speech_flag_t *flags); static switch_status_t synth_speech_feed_tts(switch_speech_handle_t *sh, char *text, switch_speech_flag_t *flags); static switch_status_t synth_speech_read_tts(switch_speech_handle_t *sh, void *data, switch_size_t *datalen, switch_speech_flag_t *flags); @@ -1571,10 +1571,11 @@ static switch_status_t speech_channel_set_state_unlocked(speech_channel_t *schan * @param sh the FreeSWITCH speech handle * @param voice_name the voice to use * @param rate the sampling rate requested + * @param channels the number of channels requested * @param flags other options * @return SWITCH_STATUS_SUCCESS if successful, otherwise SWITCH_STATUS_FALSE */ -static switch_status_t synth_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, switch_speech_flag_t *flags) +static switch_status_t synth_speech_open(switch_speech_handle_t *sh, const char *voice_name, int rate, int channels, switch_speech_flag_t *flags) { switch_status_t status = SWITCH_STATUS_SUCCESS; speech_channel_t *schannel = NULL; diff --git a/src/mod/formats/mod_ssml/mod_ssml.c b/src/mod/formats/mod_ssml/mod_ssml.c index be0857c482..f99b50c1a3 100644 --- a/src/mod/formats/mod_ssml/mod_ssml.c +++ b/src/mod/formats/mod_ssml/mod_ssml.c @@ -938,7 +938,7 @@ static switch_status_t tts_file_open(switch_file_handle_t *handle, const char *p memset(context, 0, sizeof(*context)); context->flags = SWITCH_SPEECH_FLAG_NONE; - if ((status = switch_core_speech_open(&context->sh, module, voice, handle->samplerate, handle->interval, &context->flags, NULL)) == SWITCH_STATUS_SUCCESS) { + if ((status = switch_core_speech_open(&context->sh, module, voice, handle->samplerate, handle->interval, handle->channels, &context->flags, NULL)) == SWITCH_STATUS_SUCCESS) { if ((status = switch_core_speech_feed_tts(&context->sh, document, &context->flags)) == SWITCH_STATUS_SUCCESS) { handle->channels = 1; handle->samples = 0;