]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
don't feed ps_process_raw if we are trying to grab the results.. it causes it to...
authorBrian West <brian@freeswitch.org>
Mon, 14 Jul 2008 18:05:27 +0000 (18:05 +0000)
committerBrian West <brian@freeswitch.org>
Mon, 14 Jul 2008 18:05:27 +0000 (18:05 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9019 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c

index ea4b49be563a1fa49e06275edcbfd90093f0d67f..3c543719e9bdcde08c5aa5750d918a5d1f2f054f 100644 (file)
@@ -261,10 +261,13 @@ static switch_status_t pocketsphinx_asr_feed(switch_asr_handle_t *ah, void *data
        if (switch_test_flag(ah, SWITCH_ASR_FLAG_CLOSED)) return SWITCH_STATUS_BREAK; 
        
        if (!switch_test_flag(ps, PSFLAG_HAS_TEXT) && switch_test_flag(ps, PSFLAG_READY)) {
-
-               switch_mutex_lock(ps->flag_mutex);
-               rv = ps_process_raw(ps->ps, (int16 *)data, len / 2 , FALSE, FALSE);
-               switch_mutex_unlock(ps->flag_mutex);
+               /* only feed ps_process_raw when we are listening */
+               if (ps->listening) {
+                       switch_mutex_lock(ps->flag_mutex);
+                       printf(".");
+                       rv = ps_process_raw(ps->ps, (int16 *)data, len / 2 , FALSE, FALSE);
+                       switch_mutex_unlock(ps->flag_mutex);
+               }
 
                if (rv < 0) {
                        return SWITCH_STATUS_FALSE;