#nullable disable
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Session;
/// 
/// Class holding information on a running transcode.
/// 
public class TranscodingInfo
{
    /// 
    /// Gets or sets the thread count used for encoding.
    /// 
    public string AudioCodec { get; set; }
    /// 
    /// Gets or sets the thread count used for encoding.
    /// 
    public string VideoCodec { get; set; }
    /// 
    /// Gets or sets the thread count used for encoding.
    /// 
    public string Container { get; set; }
    /// 
    /// Gets or sets a value indicating whether the video is passed through.
    /// 
    public bool IsVideoDirect { get; set; }
    /// 
    /// Gets or sets a value indicating whether the audio is passed through.
    /// 
    public bool IsAudioDirect { get; set; }
    /// 
    /// Gets or sets the bitrate.
    /// 
    public int? Bitrate { get; set; }
    /// 
    /// Gets or sets the framerate.
    /// 
    public float? Framerate { get; set; }
    /// 
    /// Gets or sets the completion percentage.
    /// 
    public double? CompletionPercentage { get; set; }
    /// 
    /// Gets or sets the video width.
    /// 
    public int? Width { get; set; }
    /// 
    /// Gets or sets the video height.
    /// 
    public int? Height { get; set; }
    /// 
    /// Gets or sets the audio channels.
    /// 
    public int? AudioChannels { get; set; }
    /// 
    /// Gets or sets the hardware acceleration type.
    /// 
    public HardwareAccelerationType? HardwareAccelerationType { get; set; }
    /// 
    /// Gets or sets the transcode reasons.
    /// 
    public TranscodeReason TranscodeReasons { get; set; }
}