Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

33 lines
844 B

namespace ErsatzTV.FFmpeg.Option.HardwareAcceleration;
public class VaapiHardwareAccelerationOption : GlobalOption
{
private readonly string _vaapiDevice;
private readonly bool _canDecode;
public VaapiHardwareAccelerationOption(string vaapiDevice, bool canDecode)
{
_vaapiDevice = vaapiDevice;
_canDecode = canDecode;
}
public override IList<string> GlobalOptions
{
get
{
var result = new List<string> { "-vaapi_device", _vaapiDevice };
if (_canDecode)
{
result.InsertRange(0, new[] { "-hwaccel", "vaapi" });
}
return result;
}
}
public override FrameState NextState(FrameState currentState) => currentState with
{
FrameDataLocation = FrameDataLocation.Hardware
};
}