Skip to content

Render native video planes through the framework (experimental) - #118

Draft
xandreeddev wants to merge 14 commits into
fix/lucent-widget-keyboard-intentfrom
feat/lucent-video-focus-combined
Draft

xandreeddev wants to merge 14 commits into
fix/lucent-widget-keyboard-intentfrom
feat/lucent-video-focus-combined

Conversation

@xandreeddev

Copy link
Copy Markdown
Owner

Live wallpapers currently convert decoded frames to RGBA before upload. This adds an experimental native YUV420 path through the public framework API, ordinary element/paint tree and shared renderer, with checked color metadata and immutable decoded-frame ownership. It is off by default (LUCENT_NATIVE_VIDEO_PLANES=1 enables an owned test session).

The neutral lucent-video-frame crate contains validated media values. FFmpeg remains in the service adapter, Vulkan resources remain in the renderer, and client output/transition policy stays in the desktop. Unsupported metadata, minification, shared or unknown output routes preserve RGBA; current, paused and outgoing frames use the same asset's prepared poster while replacements load or fail. No new shell toolkit or external player is introduced.

This is stacked on #117 and also contains the separately tested nonblocking keyboard-control flush. That focus change has no complete native-widget acceptance yet. No merge or production enablement is requested while the checks below are unresolved.

Validation:

  • Exact source 1c1dfae474929fab60d6c300326e6959d1fae77c: Rust job122031826229 passes the full workspace, configured protocol/legacy Vulkan checks, 45 named regressions and six strict video-plane/actual-scene Vulkan tests. Architecture30 and capture-integrity9 pass.
  • The overall workflow still fails the stale public component catalogue. The exporter and strict checker now include all 134 producer inputs; a genuine new 480-capture export is required.
  • Arch attempt40459098835 passes the first ten stages through desktop tests, then fails three of 77 video tests: real tagged-H264 fixtures unexpectedly use RGBA fallback. Direct ownership and fallback tests pass. No later Arch GPU gate, release archive or capture is accepted. The decoded metadata is being diagnosed before changing admission rules.

Still missing: a clean 21-stage/952-test Arch qualification and fresh captures; concrete target ABI/import review; coherent native deployment and actual eligible video delivery/fallback/restore tests; eligible normal RSS at or below 300 MiB, source-rate/60 FPS and smooth-interaction measurements; broader HiDPI/multi-output/physical coverage. GPU-cache source review finds no accidental strong retention of old CPU frames, but that is not a memory measurement. Default playback remains RGBA until the native path earns acceptance.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant