Author: remi
Date: 2009-01-15 18:49:07 +0100 (Thu, 15 Jan 2009)
New Revision: 3472

Modified:
   
software_suite_v2/tuxware/java-api/trunk/src/com/tuxisalive/api/TuxAPITTS.java
Log:
* Fixed a dead lock possibility in the TTS speak and speakAsync commands

Modified: 
software_suite_v2/tuxware/java-api/trunk/src/com/tuxisalive/api/TuxAPITTS.java
===================================================================
--- 
software_suite_v2/tuxware/java-api/trunk/src/com/tuxisalive/api/TuxAPITTS.java  
    2009-01-15 17:36:04 UTC (rev 3471)
+++ 
software_suite_v2/tuxware/java-api/trunk/src/com/tuxisalive/api/TuxAPITTS.java  
    2009-01-15 17:49:07 UTC (rev 3472)
@@ -122,7 +122,12 @@
         * @return the success of the command.
         */
        public Boolean speakAsync(String text, String locutor, Integer pitch)
-       {
+       {       
+               if (!pParent.radio.getConnected())
+               {
+                       return false;
+               }
+               
                Boolean ret;
                String cmd;
                Object soundState[];
@@ -134,7 +139,7 @@
                soundState = 
pParent.status.requestOne(TuxAPIConst.ST_NAME_TTS_SOUND_STATE);
                if (soundState[0].equals("ON"))
                {
-                       
eventHandlers.waitCondition(TuxAPIConst.ST_NAME_TTS_SOUND_STATE, 99999999.0, 
+                       
eventHandlers.waitCondition(TuxAPIConst.ST_NAME_TTS_SOUND_STATE, 5.0, 
                                        "OFF", null);
                }
                asyncStackLock.mutexPre.release();
@@ -241,6 +246,11 @@
         */
        public Boolean speak(String text, String locutor, Integer pitch)
        {
+               if (!pParent.radio.getConnected())
+               {
+                       return false;
+               }
+               
                Object soundState[];
                Boolean result = true;
                
@@ -253,7 +263,7 @@
                soundState = 
pParent.status.requestOne(TuxAPIConst.ST_NAME_TTS_SOUND_STATE);
                if (soundState[0].equals("ON"))
                {
-                       
eventHandlers.waitCondition(TuxAPIConst.ST_NAME_TTS_SOUND_STATE, 99999999.0, 
+                       
eventHandlers.waitCondition(TuxAPIConst.ST_NAME_TTS_SOUND_STATE, 5.0, 
                                        "OFF", null);
                }
                syncStackLock.mutexPre.release();


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to