llama.cpp b11828:修复 realtime API 音频提交完成时机
原标题:b11828
AI 摘要
llama.cpp 发布 b11828 版本,修复了 server 端 realtime API 的音频提交完成时机问题。此前以流耗尽作为完成触发的代理判断,会导致尾部排空期间追加的音频混入已提交项、排空前最后一次提交合并两项、连续提交被合并。新方案通过 mtmd_audio_stream_flush() 记录刷新音频结束时的行数,并在 slot 中维护结束行 FIFO,待该行之前所有行解码完成后才完成对应提交。同时该版本提供 macOS、Linux、Windows、Android 等多平台多后端预编译包。
正文节选
<details open> server: realtime API: send complete after committed audio drains (#30994) * server: realtime API: send complete after committed audio drains * server: realtime API: complete a commit at its end row Completion is triggered when the stream runs dry, which is a timing proxy: audio appended while the tail drains leaks into the committed item, a final commit before the drain merges both items, and back to back commits collapse into one. mtmd_audio_stream_flush() records the row co