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: 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>


reply via email to

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