feat: record at the source's size, only once capture works
Rust checks / windows-cross-check (push) Successful in 41s
Rust checks / linux (push) Failing after 5m37s

Encoders and the segment output are created when the capture source first
has a picture, at its own size (portrait monitors record portrait) unless a
resolution is configured, so nothing is written while waiting for a source.
SPEC.md records both decisions; validation docs cover how sessions should end
when the game closes.
This commit is contained in:
2026-10-08 15:34:42 +02:00
parent 96590e9c4a
commit 795118c200
9 changed files with 448 additions and 260 deletions
+4 -4
View File
@@ -21,8 +21,9 @@ impl fmt::Display for VideoCodec {
/// In-memory defaults from SPEC.md. Persistence and editing come with the recorder.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Settings {
pub width: u32,
pub height: u32,
/// A fixed recording size. `None` records at the captured window's or
/// monitor's own size, following its orientation.
pub resolution: Option<(u32, u32)>,
pub frames_per_second: u32,
pub codec: VideoCodec,
pub system_audio_enabled: bool,
@@ -38,8 +39,7 @@ pub struct Settings {
impl Default for Settings {
fn default() -> Self {
Self {
width: 1920,
height: 1080,
resolution: None,
frames_per_second: 60,
codec: VideoCodec::H264,
system_audio_enabled: true,