diff options
| author | Isaac Gordezky <eye.zak@gmail.com> | 2022-01-23 16:37:52 +0000 |
|---|---|---|
| committer | Cody Robibero <cody@robibe.ro> | 2022-03-06 18:13:54 -0700 |
| commit | d871dded9fc7b704f778764a73830ae6a481f3ff (patch) | |
| tree | 508f8d267052557eaa2353cdb41cab521bc67c05 /MediaBrowser.Controller | |
| parent | a3057afde82f314d01e5af72acb75beb4e08f778 (diff) | |
Convert TranscodeReason to Flags
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs index c4affa567..0f5fdcc3c 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Globalization; using System.Linq; +using System.Text.Json.Serialization; using Jellyfin.Data.Entities; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Drawing; @@ -23,7 +24,7 @@ namespace MediaBrowser.Controller.MediaEncoding public int? OutputAudioBitrate; public int? OutputAudioChannels; - private TranscodeReason[] _transcodeReasons = null; + private TranscodeReason? _transcodeReasons = null; public EncodingJobInfo(TranscodingJobType jobType) { @@ -34,25 +35,27 @@ namespace MediaBrowser.Controller.MediaEncoding SupportedSubtitleCodecs = Array.Empty<string>(); } - public TranscodeReason[] TranscodeReasons + public TranscodeReason[] TranscodeReasons { get => TranscodeReason.ToArray(); } + + [JsonIgnore] + public TranscodeReason TranscodeReason { get { - if (_transcodeReasons == null) + if (!_transcodeReasons.HasValue) { if (BaseRequest.TranscodeReasons == null) { - return Array.Empty<TranscodeReason>(); + _transcodeReasons = TranscodeReason.None; + return TranscodeReason.None; } - _transcodeReasons = BaseRequest.TranscodeReasons - .Split(',') - .Where(i => !string.IsNullOrEmpty(i)) - .Select(v => (TranscodeReason)Enum.Parse(typeof(TranscodeReason), v, true)) - .ToArray(); + TranscodeReason reason = TranscodeReason.None; + Enum.TryParse<TranscodeReason>(BaseRequest.TranscodeReasons, out reason); + _transcodeReasons = reason; } - return _transcodeReasons; + return _transcodeReasons.Value; } } |
