// --------------------------------------------------------------------------------------------------------------------
//
// 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));
}
}
}
}