From ffb05b9ae7eccc47416e9e7fae9dea54d400a245 Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期四, 10 八月 2023 19:05:51 +0800
Subject: [PATCH] Merge branch 'main' of https://github.com/alibaba-damo-academy/FunASR into main
---
funasr/runtime/websocket/websocket-server-2pass.cpp | 53 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/funasr/runtime/websocket/websocket-server-2pass.cpp b/funasr/runtime/websocket/websocket-server-2pass.cpp
index b41c5c9..50f0edc 100644
--- a/funasr/runtime/websocket/websocket-server-2pass.cpp
+++ b/funasr/runtime/websocket/websocket-server-2pass.cpp
@@ -152,8 +152,10 @@
} catch (std::exception const& e) {
LOG(ERROR) << e.what();
}
- for (auto& vec : punc_cache) {
- vec.clear();
+ if(punc_cache.size()>0){
+ for (auto& vec : punc_cache) {
+ vec.clear();
+ }
}
if (Result) {
websocketpp::lib::error_code ec;
@@ -320,14 +322,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 +359,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