2.4 KiB
2.4 KiB
Velix-MPV-Core Memory
- 项目:独立 HarmonyOS MPV 播放内核,禁止混入 Velix 主应用源码。
- 当前阶段:Phase 5 CODE COMPLETE / emulator-network validation pending;GPU INTEROP MAPPER 未进入;默认软件解码与网络播放公共 API 已构建验证。
- 基线:MPV
182fa6ca49f455cadb884858f386e2f00540aeb7,分支harmony-port。 - SDK:OpenHarmony API 24 / 6.1.1.125 /
aarch64-linux-ohos/ Clang 15.0.4。 - 关键结论:首版 GLES+EGL+libmpv Render API;OHAudio AO;官方 FFmpeg OHCodec 路线。
- Phase 1 产物:
build/ohos-arm64/prefix/lib/libmpv.so.2.5.0,AArch64 ELF,OpenGL Render API symbols 完整;当前默认重建大小约 34.3 MB。 - 远程:
origin为私有 Gitea 仓库,默认分支harmony-port;upstream为 MPV 官方仓库。 - Phase 4.5:独立
../Velix-FFmpeg-Harmony,分支harmony-ohcodec-export,远程 tip990614364f;MPV 通过scripts/build-mpv-ohos-ffmpeg-harmony.sh选择其 prefix。 - Phase 2:
playback_lab/独立 HAP,XComponent/OHNativeWindow/EGL/libmpv/软件解码已通;实体设备待验。 - Phase 3:
audio/out/ao_harmony.c+ OHAudio pull callback、pause/flush/clock/metrics 已通;实体机路由/A-V sync/压力待验。 - Phase 4:
IMGFMT_OHCODEC、hwdec=ohcodec、API24 capability adapter、direct-surface experimental driver、软件构建矩阵、Playback Lab 诊断已提交;FFmpeg 保持 upstream。 - Phase 4 边界:官方 OHCodec hwcontext/decoder 仅提供 surface 输出,NativeBuffer→EGL 仅做禁用默认 API probe,未宣称零拷贝/HDR/真实硬件帧;详见
DOCS/OHCODEC_GPU_INTEROP_DESIGN.md。 - Phase 4.5 边界:FFmpeg export 模式不调用 RenderOutputBuffer,NativeBuffer/accessor/refcount/build probes 已完成;crop/fence/真实硬解仍需设备验证,
harmony-ohcodec-gl继续 disabled。 - Phase 5:include/mpv/harmony_playback.h + player/harmony_playback.c 提供不暴露 mpv 类型的稳定 PlaybackRequest/Track/Media/Network/State/Error API;Playback Lab 已接入请求 headers、脱敏、轨道、字幕和诊断面板。
- Phase 5 构建:默认、software、FFmpeg-Harmony 三套 AArch64 libmpv 构建及 Native/ArkTS 编译通过;HAP PackageHap 因当前环境缺 Java Runtime 未完成,网络/HLS/实体设备运行待验证。
- 索引:
memory/projects.md、memory/infra.md、memory/lessons.md、memory/2026-08-28.md。