资料索引/TuyaOS AI · T5/工单 t=9433

音频播放器「卡死 → 无声」分析 / 修复 / 重构资料包

围绕 T5 上 wukong_audio_player 概率性永久阻塞、加超时后转为「隔夜唤醒无声」的问题,这里汇总了根因分析、修复补丁、调用方重构三份文档及相关源码。建议从根因报告读起。

平台
T5 · 3.13.3
关键码
-26369 / -2
文档
3 HTML + 3 MD
日期
2026-06-30

报告文档(网页版)

🔊 ① 根因分析报告 audio-deadlock-report.html 三层根因(业务 / 播放器 / 底层)、错误码解码、无声完整因果链、已落地修复总览。建议先读。 分析 🩹 ② 修复补丁参考(diff) audio-fix-patches.html 三个文件逐处前后对照:tkl_audio.c 超时治本 + ai_player.h / svc_ai_player.c 队列兜底。 补丁 ♻️ ③ 调用方重构说明 hly-ai-refactor.html 把多线程纠缠的状态机重构为单事件循环(actor):前后结构对照、事件→命令映射、修复的 6 个 bug。 重构

源码

🧩 重构后源码 hly_ai_refactored.c 单事件循环版 hly_ai.c,对外 API 保持不变。配合文档 ③ 阅读。 .c 📄 开发者原始代码 1.c 重构前的原始实现,保留用于对比。 .c

Markdown 版(便于贴 wiki / MR)

audio-deadlock-report.md根因分析报告
audio-fix-patches.md修复补丁参考
hly-ai-refactor.md重构说明
配套关系 底层 tkl_ao_put_frame 超时(治本)与播放器层队列兜底必须同时保留,二者配套才能根除「隔夜唤醒无声」;调用方重构(③)进一步消除业务层重入与持锁阻塞。