using ErsatzTV.FFmpeg.Environment; namespace ErsatzTV.FFmpeg.OutputOption; public abstract class OutputOption : IPipelineStep { public static FrameDataLocation OutputFrameDataLocation => FrameDataLocation.Unknown; public EnvironmentVariable[] EnvironmentVariables => Array.Empty(); public string[] GlobalOptions => Array.Empty(); public string[] InputOptions(InputFile inputFile) => Array.Empty(); public string[] FilterOptions => Array.Empty(); public abstract string[] OutputOptions { get; } public virtual FrameState NextState(FrameState currentState) => currentState; }