[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
- [PATCH 1/1] fix segfault in modules when audio is not initialized,
Andrei Kholodnyi <=