using ErsatzTV.FFmpeg.Capabilities.Qsv; namespace ErsatzTV.FFmpeg.Capabilities; public interface IHardwareCapabilitiesFactory { Task GetFFmpegCapabilities(string ffmpegPath); Task GetHardwareCapabilities( IFFmpegCapabilities ffmpegCapabilities, string ffmpegPath, HardwareAccelerationMode hardwareAccelerationMode, Option vaapiDisplay, Option vaapiDriver, Option vaapiDevice); Task GetNvidiaOutput(string ffmpegPath); Task GetQsvOutput(string ffmpegPath, Option qsvDevice); Task> GetVaapiOutput(string display, Option vaapiDriver, string vaapiDevice); Task> GetVaapiDisplays(); }