diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index eb6fa379..fced94f8 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -119,10 +119,8 @@ static int dispatch_audio(short *outbuf, int length, espeak_EVENT *event) return -1; } #ifdef USE_ASYNC - if ((my_mode & ENOUTPUT_MODE_SYNCHRONOUS) == 0) { - wave_set_callback_is_output_enabled(fifo_is_command_enabled); + if ((my_mode & ENOUTPUT_MODE_SYNCHRONOUS) == 0) event_init(); - } #endif } } diff --git a/src/libespeak-ng/wave.c b/src/libespeak-ng/wave.c index acf07101..31110833 100644 --- a/src/libespeak-ng/wave.c +++ b/src/libespeak-ng/wave.c @@ -63,7 +63,6 @@ int wave_port_close(void *theHandler); int wave_port_is_busy(void *theHandler); void wave_port_terminate(); void wave_port_flush(void *theHandler); -void wave_port_set_callback_is_output_enabled(t_wave_callback *cb); void *wave_port_test_get_write_buffer(); // wave_pulse.cpp @@ -74,7 +73,6 @@ int wave_pulse_close(void *theHandler); int wave_pulse_is_busy(void *theHandler); void wave_pulse_terminate(); void wave_pulse_flush(void *theHandler); -void wave_pulse_set_callback_is_output_enabled(t_wave_callback *cb); void *wave_pulse_test_get_write_buffer(); // wrappers @@ -127,14 +125,6 @@ void wave_flush(void *theHandler) wave_port_flush(theHandler); } -void wave_set_callback_is_output_enabled(t_wave_callback *cb) -{ - if (pulse_running) - wave_pulse_set_callback_is_output_enabled(cb); - else - wave_port_set_callback_is_output_enabled(cb); -} - // rename functions to be wrapped #define wave_open wave_port_open #define wave_write wave_port_write @@ -142,12 +132,9 @@ void wave_set_callback_is_output_enabled(t_wave_callback *cb) #define wave_is_busy wave_port_is_busy #define wave_terminate wave_port_terminate #define wave_flush wave_port_flush -#define wave_set_callback_is_output_enabled wave_port_set_callback_is_output_enabled #endif -static t_wave_callback *my_callback_is_output_enabled = NULL; - #define MAX_SAMPLE_RATE 22050 #define FRAMES_PER_BUFFER 512 #define BUFFER_LENGTH (MAX_SAMPLE_RATE*2*sizeof(uint16_t)) @@ -494,11 +481,6 @@ static const PaDeviceInfo *select_device(const char *device) return selectedDeviceInfo; } -void wave_set_callback_is_output_enabled(t_wave_callback *cb) -{ - my_callback_is_output_enabled = cb; -} - void *wave_open(int srate, const char *device) { PaError err; @@ -576,9 +558,6 @@ size_t wave_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSiz char *aRead; while (1) { - if (my_callback_is_output_enabled && (0 == my_callback_is_output_enabled())) - return 0; - aRead = myRead; // write pointer is before read pointer? @@ -780,9 +759,4 @@ void wave_flush(void *theHandler) (void)theHandler; // unused } -void wave_set_callback_is_output_enabled(t_wave_callback *cb) -{ - (void)cb; // unused -} - #endif diff --git a/src/libespeak-ng/wave.h b/src/libespeak-ng/wave.h index 48b2ce47..c8db64e1 100644 --- a/src/libespeak-ng/wave.h +++ b/src/libespeak-ng/wave.h @@ -34,11 +34,6 @@ extern void wave_flush(void *theHandler); extern int wave_is_busy(void *theHandler); extern void wave_terminate(); -// set the callback which informs if the output is still enabled. -// Helpful if a new sample is waiting for free space whereas sound must be stopped. -typedef int (t_wave_callback)(void); -extern void wave_set_callback_is_output_enabled(t_wave_callback *cb); - // general functions extern void clock_gettime2(struct timespec *ts); extern void add_time_in_ms(struct timespec *ts, int time_in_ms); diff --git a/src/libespeak-ng/wave_pulse.c b/src/libespeak-ng/wave_pulse.c index 037fa6ab..ccabe20c 100644 --- a/src/libespeak-ng/wave_pulse.c +++ b/src/libespeak-ng/wave_pulse.c @@ -52,8 +52,6 @@ enum { #ifdef USE_PULSEAUDIO -static t_wave_callback *my_callback_is_output_enabled = NULL; - #define SAMPLE_RATE 22050 #define ESPEAK_FORMAT PA_SAMPLE_S16LE #define ESPEAK_CHANNEL 1 @@ -71,7 +69,6 @@ static t_wave_callback *my_callback_is_output_enabled = NULL; #define wave_is_busy wave_pulse_is_busy #define wave_terminate wave_pulse_terminate #define wave_flush wave_pulse_flush -#define wave_set_callback_is_output_enabled wave_pulse_set_callback_is_output_enabled // check whether we can connect to PulseAudio #include @@ -501,11 +498,6 @@ void wave_flush(void *theHandler) (void)theHandler; // unused } -void wave_set_callback_is_output_enabled(t_wave_callback *cb) -{ - my_callback_is_output_enabled = cb; -} - void *wave_open(int srate, const char *device) { stream = NULL; @@ -531,12 +523,6 @@ size_t wave_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSiz pthread_mutex_lock(&pulse_mutex); while (1) { - if (my_callback_is_output_enabled - && (0 == my_callback_is_output_enabled())) { - theSize = 0; - goto terminate; - } - aTotalFreeMem = pulse_free(); if (aTotalFreeMem >= bytes_to_write) break; diff --git a/src/libespeak-ng/wave_sada.c b/src/libespeak-ng/wave_sada.c index dcf28221..7e493b11 100644 --- a/src/libespeak-ng/wave_sada.c +++ b/src/libespeak-ng/wave_sada.c @@ -40,8 +40,6 @@ #ifdef USE_SADA -static t_wave_callback *my_callback_is_output_enabled = NULL; - static const char *sun_audio_device = "/dev/audio"; static int sun_audio_fd = -1; @@ -135,8 +133,6 @@ size_t wave_write(void *theHandler, size_t theSize) { size_t num; - if (my_callback_is_output_enabled && (0 == my_callback_is_output_enabled())) - return 0; #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN // BIG-ENDIAN, swap the order of bytes in each sound sample @@ -281,23 +277,6 @@ void wave_flush(void *theHandler) (void)theHandler; // unused } -// wave_set_callback_is_output_enabled -// -// DESCRIPTION: -// -// Sets the callback to call from wave_write before it sends data to -// be played. It helps wave_write determine if the data should be -// thrown away or not. -// -// PARAMETERS: -// -// cb: the callback to call from wave_write -// -void wave_set_callback_is_output_enabled(t_wave_callback *cb) -{ - my_callback_is_output_enabled = cb; -} - // wave_get_remaining_time // // DESCRIPTION: