Use nullable enum type instead of strings

pull/6258/head
Brandon Nguyen 3 years ago
parent df17c67f11
commit d0c5e25ec0

@ -380,7 +380,7 @@ namespace Jellyfin.Api.Helpers
private void DeleteHlsPartialStreamFiles(string outputFilePath)
{
var directory = Path.GetDirectoryName(outputFilePath)
?? throw new ArgumentException("Path can't be a root directory.", nameof(outputFilePath));
?? throw new ArgumentException("Path can't be a root directory.", nameof(outputFilePath));
var name = Path.GetFileNameWithoutExtension(outputFilePath);
@ -444,8 +444,10 @@ namespace Jellyfin.Api.Helpers
{
var audioCodec = state.ActualOutputAudioCodec;
var videoCodec = state.ActualOutputVideoCodec;
var hardwareAccelerationType = _serverConfigurationManager.GetEncodingOptions().HardwareAccelerationType;
hardwareAccelerationType = string.IsNullOrEmpty(hardwareAccelerationType) ? "none" : hardwareAccelerationType;
var hardwareAccelerationTypeString = _serverConfigurationManager.GetEncodingOptions().HardwareAccelerationType;
HardwareEncodingType? hardwareAccelerationType = string.IsNullOrEmpty(hardwareAccelerationTypeString)
? null
: (HardwareEncodingType)Enum.Parse(typeof(HardwareEncodingType), hardwareAccelerationTypeString, true);
_sessionManager.ReportTranscodingInfo(deviceId, new TranscodingInfo
{
@ -762,8 +764,8 @@ namespace Jellyfin.Api.Helpers
if (state.MediaSource.RequiresOpening && string.IsNullOrWhiteSpace(state.Request.LiveStreamId))
{
var liveStreamResponse = await _mediaSourceManager.OpenLiveStream(
new LiveStreamRequest { OpenToken = state.MediaSource.OpenToken },
cancellationTokenSource.Token)
new LiveStreamRequest { OpenToken = state.MediaSource.OpenToken },
cancellationTokenSource.Token)
.ConfigureAwait(false);
var encodingOptions = _serverConfigurationManager.GetEncodingOptions();

@ -0,0 +1,48 @@
namespace MediaBrowser.Model.Session
{
/// <summary>
/// Enum HardwareEncodingType.
/// </summary>
public enum HardwareEncodingType
{
/// <summary>
/// AMD AMF
/// </summary>
AMF,
/// <summary>
/// Intel Quick Sync Video
/// </summary>
QSV,
/// <summary>
/// NVIDIA NVENC
/// </summary>
NVENC,
/// <summary>
/// OpenMax OMX
/// </summary>
OMX,
/// <summary>
/// Exynos V4L2 MFC
/// </summary>
V4L2M2M,
/// <summary>
/// MediaCodec Android
/// </summary>
MediaCodec,
/// <summary>
/// Video Acceleration API (VAAPI)
/// </summary>
VAAPI,
/// <summary>
/// Video ToolBox
/// </summary>
VideoToolBox
}
}

@ -34,7 +34,7 @@ namespace MediaBrowser.Model.Session
public int? AudioChannels { get; set; }
public string HardwareAccelerationType { get; set; }
public HardwareEncodingType? HardwareAccelerationType { get; set; }
public TranscodeReason[] TranscodeReasons { get; set; }
}

Loading…
Cancel
Save