Flagship Demo — Console Video Player (libc-free)
- Type: feature
- Status: done
- Owner: Antigravity
- Opened: 2026-06-21
- Relation: Sibling to other flagship demos. Depends on the low-level process spawning and pipe redirection in feature-sys-process-spawning and terminal input in feature-rtl-terminal-raw-mode.
Goal
A terminal-based video player (examples/player/) that spawns an external ffmpeg process, redirects its stdout raw video frames via a pipe, and renders them at 24/30 FPS synchronized to the monotonic system clock.
Specification
- Spawning: Invoke
ffmpegin a pipeline:ffmpeg -i input.mp4 -f image2pipe -pix_fmt rgb24 -vcodec rawvideo - - Audio: Spawn a sibling processes (like
aplay) to handle audio playback in sync. - Sync & Timing: Read
Width * Height * 3raw RGB24 frames from the pipe. If behind the monotonic timeline, drop frames. If ahead, sleep. - Controls: Non-blocking key events:
Spaceto pause / resume.qto quit playback.gto toggle rendering quality on-the-fly betweenpixelized(half-block) andadvanced(quadrant-plus-detail) modes.
Log
- 2026-06-21 — Opened.
- 2026-06-21 — Implemented video player with raw pipe reading, monotonic clock syncing, frame skipping, quality/mode toggles (ASCII/half-block/quadrant), and raw terminal input controls. Finished PAL-safe vfork process pipeline execution to avoid stack corruption (commit WIP).