- Reset OMX subsystem (Deinit/Init) on dashcamd startup to clear stale
encoder state from previous unclean exits
- Validate OMX output buffers before memcpy to prevent segfault
- Validate VisionBuf frame data before encoding
- Add dashcam row to status window showing recording state and disk usage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- New dashcamd: connects to camerad via VisionIPC, feeds raw NV12
frames directly to OMX H.264 encoder. Full 1928x1208 resolution,
4Mbps, 3-minute MP4 segments. Works regardless of UI state.
- Added encode_frame_nv12() to OmxEncoder — skips RGBA->NV12 conversion
- Suspends recording after 10 minutes of standstill
- Disabled old screen recorder timer in onroad.cc
- Suppress debug button alert (clpDebug event still fires for screen toggle)
- launch_openpilot.sh self-cleans other instances before starting
- Register DashcamDebug param in params.cc and manager.py
- Add dashcamd to build system (SConscript) and process_config
- Updated CLAUDE.md with all session changes
- Added GOALS.md feature roadmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>