Browse Source

Remove calls to wave_is_busy.

Removing these calls do not impact on the behaviour of the program
and simplify the wave.h API.
master
Reece H. Dunn 9 years ago
parent
commit
be93c8b3e7

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

// //
int i = 0; int i = 0;
while ((i <= MAX_INACTIVITY_CHECK) && !a_start_is_required) { while ((i <= MAX_INACTIVITY_CHECK) && !a_start_is_required) {
if (wave_is_busy(NULL))
i = 0;
else
i++;
i++;


int err = 0; int err = 0;
struct timespec ts; struct timespec ts;

+ 0
- 3
src/libespeak-ng/speech.c View File



ESPEAK_API int espeak_IsPlaying(void) ESPEAK_API int espeak_IsPlaying(void)
{ {
if (((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) && wave_is_busy(my_audio))
return 1;

#ifdef USE_ASYNC #ifdef USE_ASYNC
return fifo_is_busy(); return fifo_is_busy();
#else #else

+ 1
- 39
src/libespeak-ng/wave.c View File

void *wave_port_open(int, const char *); void *wave_port_open(int, const char *);
size_t wave_port_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize); size_t wave_port_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize);
int wave_port_close(void *theHandler); int wave_port_close(void *theHandler);
int wave_port_is_busy(void *theHandler);
void wave_port_terminate(); void wave_port_terminate();
void wave_port_flush(void *theHandler); void wave_port_flush(void *theHandler);
void *wave_port_test_get_write_buffer(); void *wave_port_test_get_write_buffer();
void *wave_pulse_open(int, const char *); void *wave_pulse_open(int, const char *);
size_t wave_pulse_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize); size_t wave_pulse_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize);
int wave_pulse_close(void *theHandler); int wave_pulse_close(void *theHandler);
int wave_pulse_is_busy(void *theHandler);
void wave_pulse_terminate(); void wave_pulse_terminate();
void wave_pulse_flush(void *theHandler); void wave_pulse_flush(void *theHandler);
void *wave_pulse_test_get_write_buffer(); void *wave_pulse_test_get_write_buffer();
return wave_port_close(theHandler); return wave_port_close(theHandler);
} }


int wave_is_busy(void *theHandler)
{
if (pulse_running)
return wave_pulse_is_busy(theHandler);
else
return wave_port_is_busy(theHandler);
}

void wave_terminate() void wave_terminate()
{ {
if (pulse_running) if (pulse_running)
#define wave_open wave_port_open #define wave_open wave_port_open
#define wave_write wave_port_write #define wave_write wave_port_write
#define wave_close wave_port_close #define wave_close wave_port_close
#define wave_is_busy wave_port_is_busy
#define wave_terminate wave_port_terminate #define wave_terminate wave_port_terminate
#define wave_flush wave_port_flush #define wave_flush wave_port_flush


if (0 != wave_open_sound()) if (0 != wave_open_sound())
return 0; return 0;
my_stream_could_start = 1; my_stream_could_start = 1;
} else if (!wave_is_busy(NULL))
my_stream_could_start = 1;
}
assert(BUFFER_LENGTH >= bytes_to_write); assert(BUFFER_LENGTH >= bytes_to_write);


if (myWrite >= myBuffer + BUFFER_LENGTH) if (myWrite >= myBuffer + BUFFER_LENGTH)
return 0; return 0;
} }


int wave_is_busy(void *theHandler)
{
(void)theHandler; // unused

PaError active = 0;

if (pa_stream) {
#if USE_PORTAUDIO == 18
active = Pa_StreamActive(pa_stream)
&& (mInCallbackFinishedState == false);
#else
active = Pa_IsStreamActive(pa_stream)
&& (mInCallbackFinishedState == false);
#endif
}

return active == 1;
}

void wave_terminate() void wave_terminate()
{ {
Pa_Terminate(); Pa_Terminate();
return 0; return 0;
} }


int wave_is_busy(void *theHandler)
{
(void)theHandler; // unused

return 0;
}

void wave_terminate() void wave_terminate()
{ {
} }

+ 0
- 1
src/libespeak-ng/wave.h View File

extern size_t wave_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize); extern size_t wave_write(void *theHandler, char *theMono16BitsWaveBuffer, size_t theSize);
extern int wave_close(void *theHandler); extern int wave_close(void *theHandler);
extern void wave_flush(void *theHandler); extern void wave_flush(void *theHandler);
extern int wave_is_busy(void *theHandler);
extern void wave_terminate(); extern void wave_terminate();


// general functions // general functions

+ 0
- 10
src/libespeak-ng/wave_pulse.c View File

#define wave_open wave_pulse_open #define wave_open wave_pulse_open
#define wave_write wave_pulse_write #define wave_write wave_pulse_write
#define wave_close wave_pulse_close #define wave_close wave_pulse_close
#define wave_is_busy wave_pulse_is_busy
#define wave_terminate wave_pulse_terminate #define wave_terminate wave_pulse_terminate
#define wave_flush wave_pulse_flush #define wave_flush wave_pulse_flush


return PULSE_OK; return PULSE_OK;
} }


int wave_is_busy(void *theHandler)
{
(void)theHandler; // unused

pa_timing_info a_timing_info = {0};
int active = pulse_playing(&a_timing_info);
return active;
}

void wave_terminate() void wave_terminate()
{ {
pthread_mutex_t *a_mutex = NULL; pthread_mutex_t *a_mutex = NULL;

Loading…
Cancel
Save