/// <summary> /// Starts a scan of the given path. /// </summary> /// <param name="path"> /// The path of the video to scan. /// </param> /// <param name="previewCount"> /// The number of previews to make on each title. /// </param> /// <param name="minDuration"> /// The minimum duration of a title to show up on the scan. /// </param> /// <param name="titleIndex"> /// The title index to scan (1-based, 0 for all titles). /// </param> public void StartScan(string path, int previewCount, TimeSpan minDuration, int titleIndex) { this.PreviewCount = previewCount; IntPtr pathPtr = InteropUtilities.ToUtf8PtrFromString(path); HBFunctions.hb_scan(this.Handle, pathPtr, titleIndex, previewCount, 1, (ulong)(minDuration.TotalSeconds * 90000)); Marshal.FreeHGlobal(pathPtr); this.scanPollTimer = new Timer(); this.scanPollTimer.Interval = ScanPollIntervalMs; // Lambda notation used to make sure we can view any JIT exceptions the method throws this.scanPollTimer.Elapsed += (o, e) => { try { this.PollScanProgress(); } catch (Exception exc) { Debug.WriteLine(exc); HandBrakeUtils.SendErrorEvent(exc.ToString()); } }; this.scanPollTimer.Start(); }
/// <summary> /// Initializes static members of the HandBrakeEncoderHelpers class. /// </summary> static HandBrakeEncoderHelpers() { if (!HandBrakeUtils.IsInitialised()) { throw new Exception("Please Initialise with HandBrakeUtils.EnsureGlobalInit before using!"); } }
/// <summary> /// Initializes this instance. /// </summary> /// <param name="verbosity"> /// The code for the logging verbosity to use. /// </param> /// <param name="noHardware"> /// True disables hardware init. /// </param> public void Initialize(int verbosity, bool noHardware) { HandBrakeUtils.EnsureGlobalInit(noHardware); HandBrakeUtils.RegisterLogger(); this.Handle = HBFunctions.hb_init(verbosity, update_check: 0); }
/// <summary> /// Initializes static members of the HandBrakeUnitConversionHelpers class. /// </summary> static HandBrakeUnitConversionHelpers() { HandBrakeUtils.EnsureGlobalInit(); VideoRates = new Dictionary <double, int>(); foreach (var framerate in HandBrakeEncoderHelpers.VideoFramerates) { VideoRates.Add(double.Parse(framerate.Name, CultureInfo.InvariantCulture), framerate.Rate); } }
/// <summary> /// Initializes this instance. /// </summary> /// <param name="verbosity"> /// The code for the logging verbosity to use. /// </param> /// <param name="noHardware"> /// True disables hardware init. /// </param> public void Initialize(int verbosity, bool noHardware) { IHbFunctionsProvider hbFunctionsProvider = new HbFunctionsProvider(); hbFunctions = hbFunctionsProvider.GetHbFunctionsWrapper(); HandBrakeUtils.EnsureGlobalInit(noHardware); HandBrakeUtils.RegisterLogger(); this.Handle = hbFunctions.hb_init(verbosity, update_check: 0); }
/// <summary> /// Initializes static members of the HandBrakeEncoderHelpers class. /// </summary> static HandBrakeEncoderHelpers() { IHbFunctionsProvider hbFunctionsProvider = new HbFunctionsProvider(); hbFunctions = hbFunctionsProvider.GetHbFunctionsWrapper(); if (!HandBrakeUtils.IsInitialised()) { throw new Exception("Please Initialise with HandBrakeUtils.EnsureGlobalInit before using!"); } }
/// <summary> /// Initializes static members of the HandBrakeUnitConversionHelpers class. /// </summary> static HandBrakeUnitConversionHelpers() { if (!HandBrakeUtils.IsInitialised()) { throw new Exception("Please Initialise with HandBrakeUtils.EnsureGlobalInit before using!"); } VideoRates = new Dictionary <double, int>(); foreach (var framerate in HandBrakeEncoderHelpers.VideoFramerates) { VideoRates.Add(double.Parse(framerate.Name, CultureInfo.InvariantCulture), framerate.Rate); } }
/// <summary> /// The get encode instance. /// </summary> /// <param name="verbosity"> /// The verbosity. /// </param> /// <param name="configuration"> /// The configuration. /// </param> /// <returns> /// The <see cref="IHandBrakeInstance"/>. /// </returns> public static IHandBrakeInstance GetPreviewInstance(int verbosity, HBConfiguration configuration) { if (previewInstance != null) { previewInstance.Dispose(); previewInstance = null; } HandBrakeInstance newInstance = new HandBrakeInstance(); newInstance.Initialize(verbosity); previewInstance = newInstance; HandBrakeUtils.SetDvdNav(!configuration.IsDvdNavDisabled); return(previewInstance); }
/// <summary> /// Initializes static members of the HandBrakeEncoderHelpers class. /// </summary> static HandBrakeEncoderHelpers() { HandBrakeUtils.EnsureGlobalInit(); }