deltacast-sdi-recorder/backend/app
Zac Gaetano 17916571b3 fix: lowercase codec enum, recorder .done() bug, TrueNAS deploy override
- frontend types & components now use lowercase codec values (prores/dnxhd/
  h264/uncompressed) to match backend CodecType enum. This was the real
  cause of the silent Start Recording 422.
- recorder.py: replaced last .done() call on asyncio.subprocess.Process
  with returncode-is-None check (same bug previously fixed in hls.py).
  This was causing /api/ports/{n} to 500 during active recording and
  health checks to fail while any port was running.
- useRecorder now parses pydantic 422 error bodies so field-level detail
  reaches the UI, and App.tsx shows a fixed error banner.
- Added docker-compose.truenas.yml: no deltacast device passthrough,
  frontend on :8088. Lavfi testsrc2 fallback kicks in automatically and
  feeds the full HLS preview + recording pipeline with a test signal
  (1080p30 + 1kHz tone). Verified end-to-end on Wooglin: 442MB/1:56s
  H.264 MP4 + working HLS playlist.
2026-04-14 16:20:57 -04:00
..
api feat: wire HLS manager into routes, add preview start/stop endpoints 2026-04-14 10:12:30 -04:00
recorders fix: lowercase codec enum, recorder .done() bug, TrueNAS deploy override 2026-04-14 16:20:57 -04:00
utils fix: use returncode is None instead of .done() for subprocess check 2026-04-14 11:32:17 -04:00
__init__.py Add backend/app/__init__.py 2026-04-14 09:21:07 -04:00
config.py feat: increase port count to 8 2026-04-14 10:00:23 -04:00
main.py fix: inject hls_manager into routes module so preview endpoints work 2026-04-14 10:12:46 -04:00
models.py fix: bitrate field should be str not int (accepts values like 185M) 2026-04-14 11:25:46 -04:00