Skip to content

v0.96.67

Choose a tag to compare

@github-actions github-actions released this 07 Mar 22:27
· 97 commits to trunk since this release

feat: chunked IVF recording with round-robin disk management

Daemon-level debug recording following the Capsper pattern. When
ZEROCAST_RECORD_DIR is set, each app share session records encoded
AV1 frames to chunked IVF files with structured diagnostic logs.

New: src/session_recorder.zig

  • 10-minute chunks, 600MB total disk budget
  • Round-robin slot naming (000.ivf/000.log, 001.ivf/001.log, etc.)
  • Per-chunk .log with session metadata, pipeline timings, events
  • Auto-prune oldest chunks when over budget

Modified:

  • encoder.zig: optional recorder, writes frames + timing summaries
  • app_share.zig: creates recorder from config.record_dir, logs events
  • daemon.zig: reads ZEROCAST_RECORD_DIR env, passes to AppShareConfig
  • ivf.zig: added initDir() for dir-relative file creation
  • nvenc.zig: removed maxEncodeWidth/Height (broke AV1 P-frame decode)
  • install.sh: prompts for recordings, injects env into systemd service
  • zerocast-apply-update.sh: wipes recordings on version update

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com