Browse Source

Output any audio errors to stderr.

master
Reece H. Dunn 9 years ago
parent
commit
c944a17d7d
1 changed files with 13 additions and 6 deletions
  1. 13
    6
      src/libespeak-ng/speech.c

+ 13
- 6
src/libespeak-ng/speech.c View File

@@ -121,8 +121,9 @@ static int dispatch_audio(short *outbuf, int length, espeak_EVENT *event)
#endif
out_samplerate = voice_samplerate;
#ifdef HAVE_PCAUDIOLIB_AUDIO_H
audio_object_open(my_audio, AUDIO_OBJECT_FORMAT_S16LE, voice_samplerate, 1);
if (!my_audio) {
int error = audio_object_open(my_audio, AUDIO_OBJECT_FORMAT_S16LE, voice_samplerate, 1);
if (error != 0) {
fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error));
err = ENS_AUDIO_ERROR;
return -1;
}
@@ -135,8 +136,11 @@ static int dispatch_audio(short *outbuf, int length, espeak_EVENT *event)
}

#ifdef HAVE_PCAUDIOLIB_AUDIO_H
if (outbuf && length && a_wave_can_be_played)
audio_object_write(my_audio, (char *)outbuf, 2*length);
if (outbuf && length && a_wave_can_be_played) {
int error = audio_object_write(my_audio, (char *)outbuf, 2*length);
if (error != 0)
fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error));
}
#endif

#ifdef USE_ASYNC
@@ -500,8 +504,11 @@ espeak_ng_STATUS sync_espeak_Synth(unsigned int unique_identifier, const void *t

espeak_ng_STATUS aStatus = Synthesize(unique_identifier, text, flags);
#ifdef HAVE_PCAUDIOLIB_AUDIO_H
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO)
audio_object_drain(my_audio);
if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) {
int error = audio_object_drain(my_audio);
if (error != 0)
fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error));
}
#endif

return aStatus;

Loading…
Cancel
Save