Adom Hydrogen
Public Made by Adomby adom
The whole Adom experience as one signed native app: your editor, your AI agent, and the full electronics design toolchain, running locally on your own machine.
Native recorder: stop hangs ~50 s and returns ok:false; MP4 left without moov (unrecoverable)
What happened (Windows Hydrogen v1.0.572, 2026-10-07, on a 2560x1600 laptop display with an NVIDIA GPU)
POST /recording/native/start {"source":"self","codec":"h264","maxSeconds":400,"reason":"..."} started fine (engine: wgc, source: window:Hydrogen v1.0.572 …). About 196 s later POST /recording/native/stop hung for ~50 s and returned {"ok": false} with no error text.
The output file ~/project/recordings/recording-1791404577.mp4 is unusable:
- boxes on disk:
ftyp24 B,uuid39 B,mdatdeclared 520,339,319 B, but the file is only 175,374,336 B and stopped growing; - no
moovatom, so ffprobe says "moov atom not found" and the take can't be recovered (no frame timing).
GET /recording/native/status afterwards reports recording: false, with lastOutput still pointing at the previous (good) take.
An earlier take the same afternoon with the same settings (200 s, 59.4 fps, 482 MB) finished fine. It looks like the encoder's writes into the WSL path (\\wsl$\…\recordings\) fell behind at ~60 fps and full bitrate, and stop gave up while flushing.
After this, Adom Bridge's recorder on the same PC also failed to start ("encoder init timed out" for h265, "Request timed out" for h264) and once failed mid-take with WriteSample failed … sample allocator is currently empty (0xC00D4A3E), as if a hardware encoder session had been left held. See the companion issue on adom/adom-bridge.
Asks
- When
stopcan't finalise, say why (error text), keep the take registered, and expose a way to finish or collect it, as Adom Bridge's recorder does (state: finalising, then poll). - Write fragmented MP4 (or keep a recoverable index) so a failed stop still leaves a playable file.
- Offer
fps/bitrateon/recording/native/start; there's no way to lower the data rate today. - Consider recording to a Windows-local temp file and moving it into the workspace after finalise, instead of encoding straight through
\\wsl$. - Release the encoder session on any failure path.