Skip to content

LHDC Switch 2.4.3 · 积压与自动码率修正(实验版)

Latest

Choose a tag to compare

@lldvm lldvm released this 27 Oct 06:47

本次 2.4.3 修正固定与自动模式共用发送路径的积压问题,以及自动码率停留在 480/500 kbps 附近的平台期。

修正内容

  • 发送端只检查媒体时钟原有截止时间,取消上一包实际发送后追加的逐包等待,避免 USB / 控制器回调延迟叠加。
  • 超过发送期限 120 ms 的旧积压包会被跳过,优先保留较新的声音;每个跳过包均计入本机丢弃和自动码率反馈。120 ms 是主机处理预算,不是端到端延迟保证。
  • 蓝牙事件循环也使用 MMCSS Pro Audio 调度。
  • 短暂排队抖动不再反复重置升档观察期;持续积压仍阻止升档,真实拥塞仍会降档。
  • 同档探测失败按 15 → 30 → 60 秒逐步退避,稳定成功后清除失败历史。经 700/750/800 小步升向 900 时,不再沿用大跨度升档的额外 20 秒等待。
  • 保留所有固定目标、自动上限、耳机能力和 MTU 限制,固定模式不会自动降低编码目标。

下载与升级

  • 便携版:LHDC-Switch-v2.4.3-win-x64.zip。
  • 完整对应源码:LHDC-Switch-v2.4.3-source-with-submodules.zip,包含六个锁定子模块。
  • 校验文件:SHA256SUMS.txt。

升级前先从托盘“退出并恢复蓝牙”,确认恢复完成后再替换程序;保留自己的 settings.json 和 data/,不要覆盖正在运行或尚待恢复的目录。首次使用请完整解压,运行 配置设备.cmd 填写自己的耳机地址。

GitHub 自动生成的 Source code 包不包含子模块,建议使用上面的完整源码包,或通过 git clone --recurse-submodules 获取。

验证范围

已通过 LHDC 编码器 / ABR 15 项、分包 11 项、蓝牙主机 73 项、流水线 24 项、运行循环 2 项、控制器 47 项、真实 IPC 与公开源码编译检查。覆盖不同采样率和分包时长、旧积压清理、480/500 平台期及退避恢复。

本次修正尚未完成耳机端试听。 不保证所有无线环境都能持续承载最高码率;本机丢弃为 0 也不能证明无线没有重传或耳机没有欠载。

兼容性、来源与文档

当前仅允许 Intel USB 蓝牙 8087:0026,开发实测设备为 AX201 + OPPO Enco Free4 丹拿版;需要 Windows x64 / .NET Framework 4.8。接管期间同一控制器的其他蓝牙设备会断开。音源隔离依赖用户自行安装的官方 VB-CABLE。

核心基于 A2DP Windows Bridge,LHDC Rust 编码器来自 AOSP / DBeidachazi/liblhdcv5,来源和致谢继续完整保留。

使用与恢复 · 构建与重新链接 · 来源与致谢 · 验证记录

发行包不包含开发者的实际配置、配对密钥、日志或驱动备份。随附引擎包含 BTstack,限个人、非商业使用和再分发;其他组件遵循各自许可证,详见 第三方声明。