dragon-iso/src/TeamsISO.Engine/Pipeline/IsoPipelineConfig.cs

24 lines
829 B
C#
Raw Normal View History

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