diff --git a/softsynth.c b/softsynth.c index 2c19023..96696a3 100644 --- a/softsynth.c +++ b/softsynth.c @@ -181,7 +181,6 @@ static void process_buffer(struct synth_t *s, char *buf, ssize_t length) static void request_espeak_stop(void) { pthread_mutex_lock(&queue_guard); - stop_audio(); runner_must_stop = 1; pthread_cond_signal(&runner_awake); /* Wake runner, if necessary. */ while(should_run && (runner_must_stop == 1)) diff --git a/synth.c b/synth.c index 6b4589a..d363d23 100644 --- a/synth.c +++ b/synth.c @@ -128,6 +128,7 @@ static espeak_ERROR stop_speech(void) { espeak_ERROR rc; + stop_audio(); rc = espeak_Cancel(); start_audio(); return rc;