using ErsatzTV.FFmpeg.Environment; namespace ErsatzTV.FFmpeg.OutputFormat; public class OutputFormatMpegTs : IPipelineStep { private readonly bool _initialDiscontinuity; public OutputFormatMpegTs(bool initialDiscontinuity = true) => _initialDiscontinuity = initialDiscontinuity; public IList EnvironmentVariables => Array.Empty(); public IList GlobalOptions => Array.Empty(); public IList InputOptions(InputFile inputFile) => Array.Empty(); public IList FilterOptions => Array.Empty(); public IList OutputOptions => _initialDiscontinuity ? new List { "-f", "mpegts", "-mpegts_flags", "+initial_discontinuity" } : new List { "-f", "mpegts" }; public FrameState NextState(FrameState currentState) => currentState; }