• refactor: extract recording-output concern into MainViewModel.Recording.cs — Commit F

    gramps released this 2026-08-31 17:21:47 +00:00 | 132 commits to main since this release

    The original premise (extract FFmpegEncoder / StreamHealthMonitor / FramePump
    classes) was a no-op — those already exist as Services/Encoder/FfmpegEncoder.cs
    and Services/Encoder/FramePump.cs. The honest functional seam was the local
    recording-output concern, which was interleaved with live-stream orchestration:

    • New MainViewModel.Recording.cs (121): StartRecordFile, FinalizeRecordingAsync,
      UniquePath, ChooseRecordFolder, ResetRecordFolder, DefaultRecordFolder + the
      recording fields (_recordFolder, RecordFolderDisplay, _activeRecordPath,
      _recordStartTime, _recordLength).
    • MainViewModel.Streaming.Operations.cs 475 -> 377 (keeps live session lifecycle,
      health, visuals).
    • MainViewModel.Streaming.cs 328 -> 323 (keeps pills/state/properties intact).

    Same partial class — all MVVM bound-property glue untouched, no behavior change.
    Build 0 warnings; 246 pass, only the 2 known failures.
    Docs: ViewModels/index.md tracker updated in same commit.

    Downloads