speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/1] fix segfault in modules when audio is not initialized


From: Andrei Kholodnyi
Subject: [PATCH 1/1] fix segfault in modules when audio is not initialized
Date: Wed, 29 Sep 2010 18:41:07 +0200

segfault occurs when module was initialized, but audio is not
and the SPEAK command sent to the module
./sd_pico
INIT
299-pico: Initialized successfully.
299 OK LOADED SUCCESSFULLY
SPEAK
202 OK RECEIVING MESSAGE
Hello
.
---
 src/modules/flite.c |    5 ++++-
 src/modules/pico.c  |    6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/modules/flite.c b/src/modules/flite.c
index ff0fa82..ddc85fd 100644
--- a/src/modules/flite.c
+++ b/src/modules/flite.c
@@ -293,7 +293,10 @@ _flite_speak(void* nothing)
        flite_stop = 0;
        flite_speaking = 1;
 
-       spd_audio_set_volume(module_audio_id, flite_volume);
+       if (spd_audio_set_volume(module_audio_id, flite_volume) < 0) {
+           DBG("Can't set volume. audio not initialized?\n");
+           continue;
+       }
 
        /* TODO: free(buf) */
        buf = (char*) g_malloc((FliteMaxChunkLength+1) * sizeof(char));
diff --git a/src/modules/pico.c b/src/modules/pico.c
index 1f04118..99c38d7 100644
--- a/src/modules/pico.c
+++ b/src/modules/pico.c
@@ -207,7 +207,11 @@ static int pico_process_tts(void)
                                DBG(MODULE_NAME
                                        ": Sending %i samples to audio.", 
track.num_samples);
 
-                               spd_audio_set_volume(module_audio_id, 85);
+                               if (spd_audio_set_volume(module_audio_id, 85) < 
0) {
+                                       DBG(MODULE_NAME
+                                               "Can't set volume. audio not 
initialized?");
+                                       continue;
+                               }
                                if (spd_audio_play(module_audio_id, track,
                                                       module_audio_id->format) 
< 0) {
                                        DBG(MODULE_NAME
-- 
1.6.0.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]