47 lines
5.9 KiB
Markdown
47 lines
5.9 KiB
Markdown
[PROJECT:Velix-MPV-Core] 完成 Phase 4.5 FFmpeg-Harmony export contract 与 MPV 前缀切换
|
||
结论: 独立 FFmpeg 完整历史分支 `harmony-ohcodec-export` 推送 tip `990614364f`(代码修正 `aacbe7d578`);OHOS export/software 构建、正式 accessor、NativeBuffer ref/unref、EGL/API probes 通过,MPV 仅新增 prefix switch 并完成 AArch64 构建;状态为 DEVICE VALIDATION PENDING。
|
||
文件变更: ../Velix-FFmpeg-Harmony/libavcodec/ohdec.c, libavutil/hwcontext_oh.*, scripts/*, DOCS/*; Velix-MPV-Core/scripts/build-mpv-ohos*.sh, scripts/pkg-config-ohos.sh, DOCS/MPV_BUILD_REPORT.md, DOCS/PHASE4_STATUS.md, memory/*
|
||
教训: emulator 可用于设备连接与既有 HAP/EGL 日志复核,但不能把 compile/link probe 写成 FFmpeg export 硬解运行证据;Gitea 大 pack 需分块保留完整历史。
|
||
标签: #phase4-5 #ffmpeg #ohcodec #nativebuffer #prefix-switch #emulator #pending-device
|
||
|
||
[PROJECT:Velix-MPV-Core] 完成 Phase 5 Playback Capability & Network Compatibility
|
||
结论: 新增不暴露 mpv 内部类型的稳定 Playback C API、请求/会话隔离、错误/状态/轨道/媒体/网络/字幕能力及 Playback Lab 诊断 UI;默认、software、FFmpeg-Harmony AArch64 构建与 Native/ArkTS 编译通过,HAP 打包因缺 Java Runtime 阻断,真实网络/实体设备待验证。
|
||
文件变更: include/mpv/harmony_playback.h, player/harmony_playback.c, playback_lab/entry/src/main/cpp/{player.h,player.cpp,bridge.cpp}, playback_lab/entry/src/main/ets/pages/Index.ets, DOCS/PHASE5_*.md, DOCS/PLAYBACK_PUBLIC_API.md, DOCS/NETWORK_*.md, DOCS/TRACK_MODEL.md, DOCS/SUBTITLE_PIPELINE.md, DOCS/HARMONY_FONT_STRATEGY.md
|
||
教训: hvigor 的 CompileArkTS/BuildNativeWithNinja 可在无 Java 环境通过,但 PackageHap 仍需 JDK;HAP 不应把 Native/ArkTS 编译成功误报为完整打包成功。
|
||
标签: #phase5 #playback-api #network #subtitle #redaction #software-decode #pending-runtime
|
||
|
||
[PROJECT:Velix-MPV-Core] Phase 5 最终构建与契约审计
|
||
结论: 修正 C API 时长/错误同步、请求校验、网络日志诊断与敏感 query 脱敏;默认、software、FFmpeg-Harmony AArch64 构建及 Native/ArkTS 编译通过,PackageHap 仍因缺 Java Runtime 待补,模拟器可启动既有 Playback Lab。
|
||
文件变更: player/harmony_playback.c, playback_lab/entry/src/main/cpp/player.cpp, DOCS/PHASE5_TEST_MATRIX.md, DOCS/PHASE5_STATUS.md, memory/projects.md
|
||
教训: 网络 HTTP status 采集必须覆盖 cplayer/ffmpeg 日志前缀;HLS/鉴权/字幕运行证据仍需真实网络与可安装 HAP,不能用编译结果替代。
|
||
标签: #phase5 #build #emulator #hap #java-runtime #network-pending
|
||
|
||
[PROJECT:Velix-MPV-Core] Phase 5 最终实现与模拟器 smoke
|
||
结论: C++ Playback Lab 已统一委托稳定 C 播放核心;default/software/FFmpeg-Harmony 构建、PackageHap(DevEco JBR)和 devecocli 安装启动通过;模拟器完成本地 H.264/AAC 首帧、软件解码、渲染指标与结束状态验证,真实 HTTP/HTTPS/HLS/网络字幕仍待受控源。
|
||
文件变更: playback_lab/entry/src/main/cpp/{player.h,player.cpp,harmony_playback_internal.h}, player/harmony_playback.c, DOCS/PHASE5_*.md, memory/*
|
||
教训: hvigor 默认守护进程会复用无 Java 环境;使用 DevEco JBR 并加 `--no-daemon` 才能稳定执行 PackageHap。设备 UI smoke 不能替代真实网络验收。
|
||
标签: #phase5 #c-api #playback-lab #hap #emulator #software-decode #network-pending
|
||
|
||
[PROJECT:Velix-MPV-Core] Phase 5 收尾校验与推送准备
|
||
结论: 修复普通相对 seek 的无效 default 参数,并保留 EOF 后已获取的媒体快照;三套 AArch64 产物、符号/ELF 校验和 HAP 产物均已复核,准备提交远端。
|
||
文件变更: player/harmony_playback.c, memory/2026-08-29.md
|
||
教训: mpv seek 未指定 exact/keyframe 时必须省略 flags 参数;EOF 后属性可能短暂不可读,诊断快照不能无条件清零。
|
||
标签: #phase5 #seek #eof #validation #push
|
||
|
||
[PROJECT:Velix-MPV-Core] 推送完成
|
||
结论: Phase 5 收尾提交 `f9d1481fb8` 已推送并在 `origin/harmony-port` 远端核对一致,工作区干净。
|
||
文件变更: memory/2026-08-29.md
|
||
标签: #phase5 #remote #harmony-port #complete
|
||
|
||
[PROJECT:Velix-MPV-Core] Phase 5 网络安全与诊断补齐
|
||
结论: 补齐 title/起播 exact seek/header 校验、媒体字段别名、Range/seek 诊断与顶部错误面板;模拟器通过宿主受控 HTTP MP4 Range 测试;FFmpeg-Harmony 跨 origin 凭证丢弃提交 `f3a036c695` 已推送,HTTPS/HLS/鉴权/重定向运行验证和实体机仍待补。
|
||
文件变更: player/harmony_playback.c, include/mpv/harmony_playback.h, playback_lab/entry/src/main/cpp/*, playback_lab/entry/src/main/ets/pages/Index.ets, DOCS/*, memory/*
|
||
教训: 当前 ArkUI SDK 下 Scroll 包裹既有 Column 会裁剪后续控件,保持平面 Column 并将关键错误信息置顶。
|
||
标签: #phase5 #network #range #security #emulator #ffmpeg-harmony
|
||
|
||
[PROJECT:Velix-MPV-Core] Phase 6 性能基线与优化完成
|
||
结论: 新增完整 playback timeline、buffer/audio/NAPI/资源诊断与 stdlib benchmark runner;事件驱动渲染+250ms安全探测、100ms核心快照合并、NAPI轮询降频、atomic session 读取通过模拟器回归,状态为 CODE COMPLETE / EMULATOR BENCHMARKED / DEVICE BENCHMARK PENDING。
|
||
文件变更: include/mpv/harmony_playback.h, player/harmony_playback.c, playback_lab/entry/src/main/cpp/{player.h,player.cpp,render.cpp,bridge.cpp}, playback_lab/entry/src/main/ets/pages/Index.ets, benchmark/*, DOCS/{PHASE6_STATUS.md,PERFORMANCE_METRICS.md,PERFORMANCE_CHANGES.md,BENCHMARK_METHODOLOGY.md,STARTUP_PIPELINE.md,SEEK_PIPELINE.md,BUFFERING_MODEL.md}
|
||
教训: 完全依赖 mpv update callback 会导致重复 load 偶发 BUFFERING 卡住;保留低频安全探测。模拟器不提供 PSS/精确 heap/归一化 CPU,报告必须明确 unavailable;seek 50 次保留 1 次真实 SEEK 命令错误。
|
||
标签: #phase6 #benchmark #timeline #buffering #napi #emulator #device-pending
|