手机版加载很慢 日志深度分析(本次日志:一直缓冲、很久才出画面;换HLS正常) HLS正常,mkv(E‑AC3 5.1)异常 → 不是网络、不是Surface基础问题,根源落在 EAC3 5.1 + ffmpeg软解 + AudioTrack初始化时序 关键时间线(重点异常时序) 1. 11:52:00.967:视频硬解码器 c2.qti.avc.decoder 初始化完成 ✅ 2. 11:52:00.969:音频ffmpeg软解码器 ffmpegLavc‑eac3 初始化完成 ✅ 3. 11:52:00.988:字幕渲染器就绪 ✅ 4. 11:52:20.516:间隔接近20秒!才执行 audioTrackInit ,AudioTrack真正创建完成,音频渲染器 rendererIndex=3 audio → true ⚠️ 这里是重大延迟点:ffmpeg解码器早就init,但AudioTrack创建阻塞了20秒 5. 11:52:26.904:再过6秒, renderedFirstFrame 才出现,视频第一帧渲染出来,视频渲染器才就绪 6. 11:52:30.103:播放器状态终于切为 READY ,正式开始播放 7. 11:52:30.594:视频渲染器短暂变成 rendererReady=false ,立刻切回true,出现一次短暂回退BUFFERING,属于音视频时序不同步抖动 播放器逻辑:全部renderer都就绪才会进入READY状态;音频这边AudioTrack迟迟创建不完,整个播放器卡在BUFFERING,虽然视频解码器早就初始化好了,但播放器不会输出画面 。 为什么HLS正常,这个MKV不正常? 1. HLS的音频一般是AAC立体声,安卓原生MediaCodec硬解码,AudioTrack初始化极快,没有20s阻塞。 2. 当前MKV:audio/eac3 6声道5.1杜比音频,高通设备没有硬件E‑AC3解码器,强制落到ffmpeg‑lavc软解。 3. ffmpeg解码输出PCM‑16 5.1,在你的设备上AudioTrack.open(5.1声道配置)非常慢,阻塞20s。 播放器不是卡解码,是AudioSink/AudioTrack打开5.1多声道音频输出发生阻塞,把整个播放器拉死在BUFFERING,视频解码器已经准备好,但播放器等待音频renderer就绪,不会输出画面。 日志没有ERROR崩溃,全部D日志,属于性能/时序阻塞bug,不是崩溃异常。
手机版加载很慢 日志深度分析(本次日志:一直缓冲、很久才出画面;换HLS正常)
HLS正常,mkv(E‑AC3 5.1)异常 → 不是网络、不是Surface基础问题,根源落在 EAC3 5.1 + ffmpeg软解 + AudioTrack初始化时序
关键时间线(重点异常时序)
1. 11:52:00.967:视频硬解码器 c2.qti.avc.decoder 初始化完成 ✅ 2. 11:52:00.969:音频ffmpeg软解码器 ffmpegLavc‑eac3 初始化完成 ✅ 3. 11:52:00.988:字幕渲染器就绪 ✅ 4. 11:52:20.516:间隔接近20秒!才执行 audioTrackInit ,AudioTrack真正创建完成,音频渲染器 rendererIndex=3 audio → true
⚠️ 这里是重大延迟点:ffmpeg解码器早就init,但AudioTrack创建阻塞了20秒
5. 11:52:26.904:再过6秒, renderedFirstFrame 才出现,视频第一帧渲染出来,视频渲染器才就绪 6. 11:52:30.103:播放器状态终于切为 READY ,正式开始播放 7. 11:52:30.594:视频渲染器短暂变成 rendererReady=false ,立刻切回true,出现一次短暂回退BUFFERING,属于音视频时序不同步抖动
播放器逻辑:全部renderer都就绪才会进入READY状态;音频这边AudioTrack迟迟创建不完,整个播放器卡在BUFFERING,虽然视频解码器早就初始化好了,但播放器不会输出画面 。
为什么HLS正常,这个MKV不正常?
1. HLS的音频一般是AAC立体声,安卓原生MediaCodec硬解码,AudioTrack初始化极快,没有20s阻塞。 2. 当前MKV:audio/eac3 6声道5.1杜比音频,高通设备没有硬件E‑AC3解码器,强制落到ffmpeg‑lavc软解。 3. ffmpeg解码输出PCM‑16 5.1,在你的设备上AudioTrack.open(5.1声道配置)非常慢,阻塞20s。
播放器不是卡解码,是AudioSink/AudioTrack打开5.1多声道音频输出发生阻塞,把整个播放器拉死在BUFFERING,视频解码器已经准备好,但播放器等待音频renderer就绪,不会输出画面。
日志没有ERROR崩溃,全部D日志,属于性能/时序阻塞bug,不是崩溃异常。
(图片或待补充反馈)
来源:Entryway QQ 用户反馈。截图使用 QQ 原始外链,可能过期。
状态:待确认(等待合并发版后的原场景复测)
相关代码已于 2026-10-17 整理为本地提交 7435ae594c5721dffbd09250c785a7f09e503909,分支 codex/issues-20261016。目前尚未推送、合并发版,现有 1.0.10-bgf4 不包含这批补丁;请等待后续整合测试包再验证。
7435ae594c5721dffbd09250c785a7f09e503909
codex/issues-20261016
1.0.10-bgf4
本项按“部分处理、根因待确认”保留:
重要边界:解码器初始化到AudioTrack事件的约20秒间隔,不能单独证明AudioTrack初始化函数内部阻塞了20秒;还需要原始日志区分数据/解码等待、输出初始化和其他路径。当前没有原设备/内核/完整版本及原始诊断包,不宣称原MKV慢起播已解决。
验证:新增4项EAC3/JOC输出路由测试通过,后续核心/手机/TV共1135项测试通过。
待确认:后续整合包用同一MKV先保留原设置复现并导出完整诊断ZIP,再仅改变一项设置(如关闭直通或开启强制立体声)对照;记录首次画面/声音时间,结束后恢复设置。原片源确认后再关闭。
该工单已标记「待确认」且提交超过一周,相关改动已随新版本发布。为保持工单列表整洁,现统一关闭。
如在最新版本中仍存在该问题,欢迎在本单下回复,或新开工单并附上:版本号、设备机型与系统、具体操作步骤,必要时附日志或截图,我们会继续跟进。感谢反馈!
No dependencies set.
The note is not visible to the blocked user.
原始反馈记录
第 1 条 · 2026/10/16 20:34:56
第 2 条 · 2026/10/16 20:34:59
来源:Entryway QQ 用户反馈。截图使用 QQ 原始外链,可能过期。
第 2 条 · 2026/10/16 20:34:59
状态:待确认(等待合并发版后的原场景复测)
相关代码已于 2026-10-17 整理为本地提交
7435ae594c5721dffbd09250c785a7f09e503909,分支codex/issues-20261016。目前尚未推送、合并发版,现有1.0.10-bgf4不包含这批补丁;请等待后续整合测试包再验证。本项按“部分处理、根因待确认”保留:
重要边界:解码器初始化到AudioTrack事件的约20秒间隔,不能单独证明AudioTrack初始化函数内部阻塞了20秒;还需要原始日志区分数据/解码等待、输出初始化和其他路径。当前没有原设备/内核/完整版本及原始诊断包,不宣称原MKV慢起播已解决。
验证:新增4项EAC3/JOC输出路由测试通过,后续核心/手机/TV共1135项测试通过。
待确认:后续整合包用同一MKV先保留原设置复现并导出完整诊断ZIP,再仅改变一项设置(如关闭直通或开启强制立体声)对照;记录首次画面/声音时间,结束后恢复设置。原片源确认后再关闭。
该工单已标记「待确认」且提交超过一周,相关改动已随新版本发布。为保持工单列表整洁,现统一关闭。
如在最新版本中仍存在该问题,欢迎在本单下回复,或新开工单并附上:版本号、设备机型与系统、具体操作步骤,必要时附日志或截图,我们会继续跟进。感谢反馈!