Browse Source

Revert "Stop audio output before fifo_stop is called"

This reverts commit 1b5ea47ea4.

This patch is causing lockups when using this with servers like brltty.
master
Reece H. Dunn 8 years ago
parent
commit
52abe35300
2 changed files with 8 additions and 8 deletions
  1. 4
    3
      src/libespeak-ng/fifo.c
  2. 4
    5
      src/libespeak-ng/speech.c

+ 4
- 3
src/libespeak-ng/fifo.c View File

return status; return status;


int a_stop_is_required = my_stop_is_required; int a_stop_is_required = my_stop_is_required;
if (!a_stop_is_required) {
if (!a_stop_is_required)
my_command_is_running = 1; my_command_is_running = 1;
pthread_cond_broadcast(&my_cond_command_is_running);
}


status = pthread_mutex_unlock(&my_mutex); status = pthread_mutex_unlock(&my_mutex);


my_command_is_running = 1; my_command_is_running = 1;


assert(-1 != pthread_cond_broadcast(&my_cond_command_is_running)); assert(-1 != pthread_cond_broadcast(&my_cond_command_is_running));
assert(-1 != pthread_mutex_unlock(&my_mutex));


while (my_command_is_running) { while (my_command_is_running) {
int a_status = pthread_mutex_lock(&my_mutex);
assert(!a_status);
t_espeak_command *a_command = (t_espeak_command *)pop(); t_espeak_command *a_command = (t_espeak_command *)pop();


if (a_command == NULL) { if (a_command == NULL) {

+ 4
- 5
src/libespeak-ng/speech.c View File



ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Cancel(void) ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Cancel(void)
{ {
#ifdef HAVE_PCAUDIOLIB_AUDIO_H
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO)
audio_object_flush(my_audio);
#endif

#ifdef USE_ASYNC #ifdef USE_ASYNC
fifo_stop(); fifo_stop();
event_clear_all(); event_clear_all();
#endif #endif


#ifdef HAVE_PCAUDIOLIB_AUDIO_H
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO)
audio_object_flush(my_audio);
#endif
embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements


for (int i = 0; i < N_SPEECH_PARAM; i++) for (int i = 0; i < N_SPEECH_PARAM; i++)

Loading…
Cancel
Save