AUDIO
Source snapshot · 12 October 2026

Local video worker boundary

The separate ravet-media prototype opens explicitly selected local video on macOS and extracts timestamped first-track frames through AVFoundation. It stays outside the portable processing/umbrella graph. No audio callback, window, automatic playback clock, remote URL, device or consumer asset is selected.

Use VideoReader::open(path) on the worker that will also extract and drop it. The reader is neither Send nor Sync. File paths are UTF8/no-NUL/<=4096 bytes, regular sources <=2 GiB, duration (0,24h], oriented dimensions 1..4096. Preparation and each extraction may block or allocate; decoder transient memory/time are not globally bounded. frame_at(seconds) accepts [0,duration), requests zero native time tolerance and returns actual source timestamp plus owned top-to-bottom premultiplied RGBA8 sRGB pixels (<=64 MiB). Requests between source frames may fail; no interpolation/cursor/clock or successful-all-frames guarantee is inferred.

Codec/container/color conversion follow the OS. The synthetic H.264/MP4 fixture checks declared size/duration, selected timestamps, red/blue regions and white top-strip orientation, with explicit lossy/decode color tolerance. It does not establish general codec, colorimetric, A/V-sync, live-playback, GPU-window or other-platform conformance. Xcode and macOS 12-targeting headers are required; only the locally executed macOS version is validation evidence.