using System; using System.Collections.Generic; using ErsatzTV.Core.Interfaces.FFmpeg; using LanguageExt; namespace ErsatzTV.Core.FFmpeg { public class FFmpegPlaybackSettings { public int ThreadCount { get; set; } public List FormatFlags { get; set; } public bool RealtimeOutput => true; public Option StreamSeek { get; set; } public Option ScaledSize { get; set; } public bool PadToDesiredResolution { get; set; } public string ScalingAlgorithm => "fast_bilinear"; // TODO: from config, add tests public string VideoCodec { get; set; } public Option VideoBitrate { get; set; } public Option VideoBufferSize { get; set; } public Option AudioBitrate { get; set; } public Option AudioBufferSize { get; set; } public Option AudioChannels { get; set; } public Option AudioSampleRate { get; set; } public Option AudioDuration { get; set; } public string AudioCodec { get; set; } public bool Deinterlace { get; set; } } }