using System.Diagnostics.CodeAnalysis;

namespace ErsatzTV.FFmpeg.Capabilities;

[SuppressMessage("ReSharper", "IdentifierTypo")]
[SuppressMessage("ReSharper", "StringLiteralTypo")]
public record FFmpegKnownOption
{
    private FFmpegKnownOption(string Name) => this.Name = Name;

    public string Name { get; }

    // ffmpeg 6.1+; lets a readrate-throttled input read flat out for an initial window
    public static FFmpegKnownOption ReadrateInitialBurst => new("readrate_initial_burst");

    public static IList<string> AllOptions =>
    [
        ReadrateInitialBurst.Name
    ];
}
