sphinx-speech-engine: recursive processing of buffers to support dict switches
authorJanos Kovacs <jankovac503@gmail.com>
Thu, 6 Jun 2013 13:43:35 +0000 (16:43 +0300)
committerKrisztian Litkey <krisztian.litkey@intel.com>
Thu, 6 Jun 2013 13:57:30 +0000 (16:57 +0300)
src/plugins/sphinx-speech-engine/utterance.c

index 0d3233a..b100ef9 100644 (file)
@@ -92,8 +92,16 @@ static void process_utterance(context_t *ctx)
         processed:
             if (ctx->verbose || 1)
                 print_utterance(ctx, &utt);
+
             purgelen = plugin_utterance_handler(ctx, &utt);
             filter_buffer_purge(ctx, purgelen);
+
+            if (!filter_buffer_is_empty(ctx)) {
+                mrp_log_info("processing what is left in filter buffer");
+                utterance_start(ctx);
+                filter_buffer_utter(ctx, true);
+                utterance_end(ctx);
+            }
             break;
 
         default: