起个中文名 2023年 Dec 14日 17:43正常来说,append的操作应该在你们编码的线程,例如:
void codec_task(){
while(run) {
read_from_hardware
append_to_tuya
sleep_if_you_need
}
}所以如果你们每秒append的数量不均匀,就关注这个线程是不是调度不及时。
如果你们现在开trace级别日志会明显变卡,那你可以看看把日志调整到error级别,是不是就不卡了。
之前没有设置sleep ,网口 的视频音频标清不会卡顿 声音也不会明显断断续续,高清偶尔卡顿 。网口整体效果 相比 wifi的会好很多 wifi高清模式下 声音会出现有规律的卡顿 还有画面延迟。 WiFi模组测试了吞吐量 应该是没问题的。
现在在append后设置了 usleep 这个值按照demo里(sleepTick = 1000000 / frameRate)设置好像大了,网口和wifi的声音断断续续现象,会更严重 。
现在设置成 usleep(10*1000),和之前没设置sleep的效果差不多,并提升了线程的优先级好像并没有什么改善 ,WiFi高清下还是有明显的延迟和声音卡顿。
线程优先级提升:
ak_thread_create(&audio_output_thread, push_audio_frame,
NULL, ANYKA_THREAD_NORMAL_STACK_SIZE, 80);