From 05c8eba11c51ca928eee9c041de1a4192e590aec Mon Sep 17 00:00:00 2001
From: nianjiuhuiyi <64776403+nianjiuhuiyi@users.noreply.github.com>
Date: 星期五, 27 六月 2025 09:57:45 +0800
Subject: [PATCH] Fix: 修复c++后端服务因为空数组的异常退出,以及c++的http服务在收到Ctrl+C信号后无法正常退出 (#2571)
---
runtime/csharp/AliFsmnVad/AliFsmnVadSharp/E2EVadModel.cs | 27 +++++++++++++++++----------
1 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/runtime/csharp/AliFsmnVad/AliFsmnVadSharp/E2EVadModel.cs b/runtime/csharp/AliFsmnVad/AliFsmnVadSharp/E2EVadModel.cs
index ce519b1..38d3c90 100644
--- a/runtime/csharp/AliFsmnVad/AliFsmnVadSharp/E2EVadModel.cs
+++ b/runtime/csharp/AliFsmnVad/AliFsmnVadSharp/E2EVadModel.cs
@@ -503,20 +503,27 @@
{
return 0;
}
- for (int i = _vad_opts.nn_eval_block_size - 1; i > -1; i += -1)
+ try
{
- FrameState frame_state = FrameState.kFrameStateInvalid;
- frame_state = GetFrameState(_frm_cnt - 1 - i);
- if (i != 0)
+ for (int i = _vad_opts.nn_eval_block_size - 1; i > -1; i += -1)
{
- DetectOneFrame(frame_state, _frm_cnt - 1 - i, false);
- }
- else
- {
- DetectOneFrame(frame_state, _frm_cnt - 1, true);
- }
+ FrameState frame_state = FrameState.kFrameStateInvalid;
+ frame_state = GetFrameState(_frm_cnt - 1 - i);
+ if (i != 0)
+ {
+ DetectOneFrame(frame_state, _frm_cnt - 1 - i, false);
+ }
+ else
+ {
+ DetectOneFrame(frame_state, _frm_cnt - 1, true);
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ //
}
return 0;
--
Gitblit v1.9.1