namespace TeamsISO.Engine.Domain;
public sealed record IsoHealthStats(
long FramesIn,
long FramesOut,
long FramesDropped,
long FramesDuplicated,
DateTimeOffset? LastFrameAt,
double IncomingFps,
int IncomingWidth,
int IncomingHeight)
{
public static readonly IsoHealthStats Empty =
new(0, 0, 0, 0, null, 0, 0, 0);
/// <summary>
/// Pipeline lifecycle state. <see cref="IsoState.Idle"/> when no pipeline is
/// running; otherwise reflects the supervisor's current view.
/// </summary>
public IsoState State { get; init; } = IsoState.Idle;
}