From 9fc2efb1fafd2704523bbd33aec86e6e2fdef1a6 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 21 May 2017 09:49:35 +0100 Subject: [PATCH] Don't re-initialize my_audio if espeak_ng_InitializeOutput is called multiple times. --- src/libespeak-ng/speech.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index 368520db..1815375f 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -252,7 +252,8 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_InitializeOutput(espeak_ng_OUTPUT_MODE out_samplerate = 0; #ifdef HAVE_PCAUDIOLIB_AUDIO_H - my_audio = create_audio_device_object(device, "eSpeak", "Text-to-Speech"); + if (my_audio == NULL) + my_audio = create_audio_device_object(device, "eSpeak", "Text-to-Speech"); #endif // buffer_length is in mS, allocate 2 bytes per sample @@ -886,6 +887,7 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Terminate(void) #ifdef HAVE_PCAUDIOLIB_AUDIO_H audio_object_close(my_audio); audio_object_destroy(my_audio); + my_audio = NULL; #endif out_samplerate = 0; }