using TeamsISO.Engine.Domain; namespace TeamsISO.Engine.Pipeline; /// /// Per-pipeline configuration — identifies the participant, the source it captures, /// the output it emits, and the global processing settings to apply. /// public sealed record IsoPipelineConfig( Guid ParticipantId, string SourceName, string OutputName, FrameProcessingSettings Settings) { /// Default no-signal threshold per spec §4. public TimeSpan SlateThreshold { get; init; } = TimeSpan.FromSeconds(2.5); /// Bounded raw-frame channel capacity (drop-oldest backpressure). public int RawChannelCapacity { get; init; } = 4; /// Bounded processed-frame channel capacity. public int ProcessedChannelCapacity { get; init; } = 2; }