From 800b28152bba438c8472eec7571eae10212a0515 Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期四, 10 八月 2023 16:13:47 +0800
Subject: [PATCH] update websocket-server-2pass
---
funasr/runtime/websocket/websocket-server-2pass.cpp | 47 ++++++++++++++++++++++++++++++-----------------
1 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/funasr/runtime/websocket/websocket-server-2pass.cpp b/funasr/runtime/websocket/websocket-server-2pass.cpp
index b41c5c9..0b92c97 100644
--- a/funasr/runtime/websocket/websocket-server-2pass.cpp
+++ b/funasr/runtime/websocket/websocket-server-2pass.cpp
@@ -320,14 +320,20 @@
LOG(INFO) << "client done";
// if it is in final message, post the sample_data to decode
- asio::post(
- io_decoder_,
- std::bind(&WebSocketServer::do_decoder, this,
- std::move(*(sample_data_p.get())), std::move(hdl),
- std::ref(msg_data->msg), std::ref(*(punc_cache_p.get())),
- std::ref(*thread_lock_p), std::move(true),
- msg_data->msg["wav_name"],
- std::ref(msg_data->tpass_online_handle)));
+ try{
+ asio::post(
+ io_decoder_,
+ std::bind(&WebSocketServer::do_decoder, this,
+ std::move(*(sample_data_p.get())), std::move(hdl),
+ std::ref(msg_data->msg), std::ref(*(punc_cache_p.get())),
+ std::ref(*thread_lock_p), std::move(true),
+ msg_data->msg["wav_name"],
+ std::ref(msg_data->tpass_online_handle)));
+ }
+ catch (std::exception const &e)
+ {
+ LOG(ERROR)<<e.what();
+ }
}
break;
}
@@ -351,15 +357,22 @@
// keep remain in sample_data
sample_data_p->erase(sample_data_p->begin(),
sample_data_p->begin() + chunksize * setpsize);
- // post to decode
- asio::post(io_decoder_,
- std::bind(&WebSocketServer::do_decoder, this,
- std::move(subvector), std::move(hdl),
- std::ref(msg_data->msg),
- std::ref(*(punc_cache_p.get())),
- std::ref(*thread_lock_p), std::move(false),
- msg_data->msg["wav_name"],
- std::ref(msg_data->tpass_online_handle)));
+
+ try{
+ // post to decode
+ asio::post(io_decoder_,
+ std::bind(&WebSocketServer::do_decoder, this,
+ std::move(subvector), std::move(hdl),
+ std::ref(msg_data->msg),
+ std::ref(*(punc_cache_p.get())),
+ std::ref(*thread_lock_p), std::move(false),
+ msg_data->msg["wav_name"],
+ std::ref(msg_data->tpass_online_handle)));
+ }
+ catch (std::exception const &e)
+ {
+ LOG(ERROR)<<e.what();
+ }
}
} else {
sample_data_p->insert(sample_data_p->end(), pcm_data,
--
Gitblit v1.9.1