[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: |
William Hubbs |
Subject: |
[PATCH 1/1] fix segfault in modules when audio is not initialized |
Date: |
Wed, 29 Sep 2010 12:59:40 -0500 |
I'll look at this since it needs to be done after I get pico back into
the tree.
William
On Wed, Sep 29, 2010 at 06:41:07PM +0200, Andrei Kholodnyi wrote:
> 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
>
>
> _______________________________________________
> Speechd mailing list
> Speechd at lists.freebsoft.org
> http://lists.freebsoft.org/mailman/listinfo/speechd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL:
<http://lists.freebsoft.org/pipermail/speechd/attachments/20100929/72da9cb2/attachment.pgp>