[update] ensure that a frame is written

This commit is contained in:
LittleMouse
2025-08-28 16:38:46 +08:00
parent 9a14d45799
commit 9d816fe827
4 changed files with 12 additions and 5 deletions
+3 -1
View File
@@ -58,7 +58,7 @@ public:
std::atomic_bool audio_flage_;
std::atomic_bool awake_flage_;
int awake_delay_ = 50;
int delay_audio_frame_ = 11;
int delay_audio_frame_ = 10;
buffer_t *pcmdata;
std::function<void(void)> pause;
@@ -187,6 +187,7 @@ public:
count++;
return;
}
buffer_write_char(pcmdata, raw.data(), raw.length());
buffer_position_set(pcmdata, 0);
std::vector<float> floatSamples;
@@ -523,6 +524,7 @@ public:
});
llm_task_obj->audio_flage_ = true;
} else if (input.find("asr") != std::string::npos) {
llm_task_obj->delay_audio_frame_ = 0;
llm_channel->subscriber_work_id(
"", std::bind(&llm_asr::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
+3 -1
View File
@@ -59,7 +59,7 @@ public:
bool enwake_audio_;
std::atomic_bool audio_flage_;
task_callback_t out_callback_;
int delay_audio_frame_ = 11;
int delay_audio_frame_ = 10;
buffer_t *pcmdata;
std::string wake_wav_file_;
@@ -233,6 +233,7 @@ public:
count++;
return;
}
buffer_write_char(pcmdata, raw.data(), raw.length());
buffer_position_set(pcmdata, 0);
std::vector<float> floatSamples;
@@ -529,6 +530,7 @@ public:
});
llm_task_obj->audio_flage_ = true;
} else if (input.find("kws") != std::string::npos) {
llm_task_obj->delay_audio_frame_ = 0;
llm_channel->subscriber_work_id(
"", std::bind(&llm_kws::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
+3 -1
View File
@@ -60,7 +60,7 @@ public:
std::string superior_id_;
task_callback_t out_callback_;
int awake_delay_ = 50;
int delay_audio_frame_ = 4;
int delay_audio_frame_ = 3;
buffer_t *pcmdata;
std::string wake_wav_file_;
@@ -158,6 +158,7 @@ public:
count++;
return;
}
buffer_write_char(pcmdata, raw.c_str(), raw.length());
buffer_position_set(pcmdata, 0);
std::vector<float> floatSamples;
@@ -430,6 +431,7 @@ public:
});
llm_task_obj->audio_flage_ = true;
} else if (input.find("vad") != std::string::npos) {
llm_task_obj->delay_audio_frame_ = 0;
llm_channel->subscriber_work_id(
"", std::bind(&llm_vad::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
@@ -99,7 +99,7 @@ public:
static int ax_init_flage_;
task_callback_t out_callback_;
int awake_delay_ = 50;
int delay_audio_frame_ = 3001;
int delay_audio_frame_ = 3000;
buffer_t *pcmdata;
std::function<void(void)> pause;
@@ -343,6 +343,7 @@ public:
count++;
if (endpoint_flage_) return;
}
buffer_write_char(pcmdata, raw.data(), raw.length());
endpoint_flage_ = true;
buffer_position_set(pcmdata, 0);
@@ -851,7 +852,7 @@ public:
});
llm_task_obj->audio_flage_ = true;
} else if (input.find("whisper") != std::string::npos) {
if (input.find("stream.base64") != std::string::npos) llm_task_obj->delay_audio_frame_ = 0;
llm_task_obj->delay_audio_frame_ = 0;
llm_channel->subscriber_work_id(
"", std::bind(&llm_whisper::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,