// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // The hb video encoder. // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrake.ApplicationServices.Interop.Model.Encoding { using System.Collections.Generic; using HandBrake.ApplicationServices.Interop.HbLib; using HandBrake.ApplicationServices.Interop.Helpers; /// /// The hb video encoder. /// public class HBVideoEncoder { /// /// Initializes a new instance of the class. /// /// /// The compatible containers. /// /// /// The display name. /// /// /// The id. /// /// /// The short name. /// public HBVideoEncoder(int compatibleContainers, string displayName, int id, string shortName) { this.CompatibleContainers = compatibleContainers; this.DisplayName = displayName; this.Id = id; this.ShortName = shortName; } /// /// Gets the compatible containers. /// public int CompatibleContainers { get; private set; } /// /// Gets the display name. /// public string DisplayName { get; private set; } /// /// Gets the id. /// public int Id { get; private set; } /// /// Gets the short name. /// public string ShortName { get; private set; } /// /// Gets the list of presets this encoder supports. (null if the encoder doesn't support presets) /// public List Presets { get { return InteropUtilities.ToStringListFromArrayPtr(HBFunctions.hb_video_encoder_get_presets(this.Id)); } } /// /// Gets the list of tunes this encoder supports. (null if the encoder doesn't support tunes) /// public List Tunes { get { return InteropUtilities.ToStringListFromArrayPtr(HBFunctions.hb_video_encoder_get_tunes(this.Id)); } } /// /// Gets the list of profiles this encoder supports. (null if the encoder doesn't support profiles) /// public List Profiles { get { return InteropUtilities.ToStringListFromArrayPtr(HBFunctions.hb_video_encoder_get_profiles(this.Id)); } } /// /// Gets the list of levels this encoder supports. (null if the encoder doesn't support levels) /// public List Levels { get { return InteropUtilities.ToStringListFromArrayPtr(HBFunctions.hb_video_encoder_get_levels(this.Id)); } } } }