Home/Panvox Player/Implementation notes
Implementation notes
How Panvox is built, one topic at a time: the product, HDR, Flutter frame interop, subtitles, cross-platform builds, playback speed and remote access.
- From the open-source engine avox to a product: the cross-platform player PanvoxThe whole product: why build a player, direct-play libraries over NAS/SMB/WebDAV/Jellyfin, the poster wall, HDR, subtitles and AI, IPTV, and how the avox engine splits work with the Flutter product layer.
- HDR playback across platforms: passthrough, shaping and per-frame tone mappingPlaying Dolby Vision P5/P8 and HDR10+ correctly on four platforms: passthrough, shaping and per-frame tone mapping, with lanes split by output method.
- Flutter ↔ avox video-frame interop: from Texture to native windowHow video frames travel between the Flutter layer and the avox engine: from native textures to Flutter Texture, then to a native window overlay, and why the texture chain was deleted.
- ASS/PGS/SRT across platforms: three render paths and four canvasesThree kinds of subtitles on four platforms: three render paths and four canvas backends, and which layer owns styling, positioning and compositing.
- Building avox core and plugins across platforms: dynamic or static, the platform decidesHow the engine and its plugins compile on five platforms: dynamic or static decided by platform distribution, plus dependency packaging, symbols, signing and TLS across four modules.
- 4× playback speed: decoder ceilings and I-frame modeHow 4× playback works: the decoder ceiling, keyframe-only mode, the two render chains, and A/V sync on both sides of the 4× line.
- Remote access: direct, relayed, authorized onceHow Panvox brings your home library with you: the node list and the source list, direct/relayed/unreachable links, one authorization for one long-lived identity, and the pitfalls that only show up on real networks.