public CarbonTranscodePlugin() { _CarbonServerHost = new PluginPropertyString("CarbonServerHost", this, "localhost"); _CarbonServerPort = new PluginPropertyValueType<ushort>("CarbonServerPort", this, 1101); _CarbonPresetGUID = new PluginPropertyString("CarbonPresetGUID", this); _MaxWidth = new PluginPropertyValueType<uint>("MaxWidth", this); _MaxWidth.AddIsInRangeTest(maxWidth => maxWidth > 0); _MaxHeight = new PluginPropertyValueType<uint>("MaxHeight", this); _MaxHeight.AddIsInRangeTest(maxHeight => maxHeight > 0); _MinAudioBitRate = new PluginPropertyValueType<uint>("MinAudioBitRate", this); _MinAudioBitRate.AddIsInRangeTest(minAudioBitRate => minAudioBitRate > 0); _MinVideoBitRate = new PluginPropertyValueType<uint>("MinVideoBitRate", this); _MinVideoBitRate.AddIsInRangeTest(minVideoBitRate => minVideoBitRate > 0); _MaxFrameRate = new PluginPropertyValueType<ushort>("MaxFrameRate", this); _MaxFrameRate.AddIsInRangeTest(maxFrameRate => maxFrameRate > 0); }
public TranscodeTwoPassh264Plugin() { _FFmpegFilePath = new PluginPropertyFilePath("FFmpegFilePath", this); _TemporaryDirectoryPath = new PluginPropertyDirectoryPath("TemporaryDirectoryPath", this); _AudioBitrate = new PluginPropertyValueType<uint>("AudioBitrate", this); _ShouldDeinterlaceVideo = new PluginPropertyValueType<bool>("ShouldDeinterlaceVideo", this, false); _ShouldKeepVideoAspectRatio = new PluginPropertyValueType<bool>("ShouldKeepVideoAspectRatio", this, true); _VideoWidth = new PluginPropertyValueType<uint>("VideoWidth", this); _VideoHeight = new PluginPropertyValueType<uint>("VideoHeight", this); _VideoBitrate = new PluginPropertyValueType<uint>("VideoBitrate", this); _AudioBitrate.AddIsInRangeTest(value => value > 0); _VideoWidth.AddIsInRangeTest(value => value >= 0); _VideoHeight.AddIsInRangeTest(value => value >= 0); _VideoBitrate.AddIsInRangeTest(value => value > 0); _FFmpegOutput = new StringBuilder(); }