Use enums for encoding options (#12561)

This commit is contained in:
Tim Eisele
2024-09-09 16:43:37 +02:00
committed by GitHub
parent 54f663b0f3
commit 0d85af019c
20 changed files with 884 additions and 476 deletions

View File

@@ -1,43 +0,0 @@
namespace MediaBrowser.Model.Session
{
/// <summary>
/// Enum HardwareEncodingType.
/// </summary>
public enum HardwareEncodingType
{
/// <summary>
/// AMD AMF.
/// </summary>
AMF = 0,
/// <summary>
/// Intel Quick Sync Video.
/// </summary>
QSV = 1,
/// <summary>
/// NVIDIA NVENC.
/// </summary>
NVENC = 2,
/// <summary>
/// Video4Linux2 V4L2.
/// </summary>
V4L2M2M = 3,
/// <summary>
/// Video Acceleration API (VAAPI).
/// </summary>
VAAPI = 4,
/// <summary>
/// Video ToolBox.
/// </summary>
VideoToolBox = 5,
/// <summary>
/// Rockchip Media Process Platform (RKMPP).
/// </summary>
RKMPP = 6
}
}

View File

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