-
refactor: extract recording-output concern into MainViewModel.Recording.cs — Commit F
released this
2026-08-31 17:21:47 +00:00 | 132 commits to main since this releaseThe 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
- New MainViewModel.Recording.cs (121): StartRecordFile, FinalizeRecordingAsync,