mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-22 00:27:09 +01:00
Clean up EnumFlags serialization
This commit is contained in:
@@ -915,13 +915,13 @@ namespace MediaBrowser.Model.Dlna
|
||||
}
|
||||
|
||||
_logger.LogInformation(
|
||||
"Transcode Result for Profile: {0}, Path: {1}, PlayMethod: {2}, AudioStreamIndex: {3}, SubtitleStreamIndex: {4}, Reasons: {5}",
|
||||
options.Profile.Name ?? "Anonymous Profile",
|
||||
"Transcode Result for Profile: {Profile}, Path: {Path}, PlayMethod: {PlayMethod}, AudioStreamIndex: {AudioStreamIndex}, SubtitleStreamIndex: {SubtitleStreamIndex}, Reasons: {TranscodeReason}",
|
||||
options.Profile?.Name ?? "Anonymous Profile",
|
||||
item.Path ?? "Unknown path",
|
||||
playlistItem.PlayMethod,
|
||||
audioStream.Index,
|
||||
playlistItem.SubtitleStreamIndex,
|
||||
playlistItem.TranscodeReasons);
|
||||
playlistItem?.PlayMethod,
|
||||
audioStream?.Index,
|
||||
playlistItem?.SubtitleStreamIndex,
|
||||
playlistItem?.TranscodeReasons);
|
||||
}
|
||||
|
||||
private static int GetDefaultAudioBitrate(string audioCodec, int? audioChannels)
|
||||
|
||||
@@ -798,7 +798,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
|
||||
if (!item.IsDirectStream)
|
||||
{
|
||||
list.Add(new NameValuePair("TranscodeReasons", item.TranscodeReasons.Serialize()));
|
||||
list.Add(new NameValuePair("TranscodeReasons", item.TranscodeReasons.ToString()));
|
||||
}
|
||||
|
||||
return list;
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace MediaBrowser.Model.Session
|
||||
{
|
||||
/// <summary>
|
||||
/// Extension methods for serializing TranscodeReason.
|
||||
/// </summary>
|
||||
public static class TranscodeReasonExtensions
|
||||
{
|
||||
private static readonly TranscodeReason[] _values = Enum.GetValues<TranscodeReason>();
|
||||
|
||||
/// <summary>
|
||||
/// Serializes a TranscodeReason into a delimiter-separated string.
|
||||
/// </summary>
|
||||
/// <param name="reasons">The <see cref="TranscodeReason"/> enumeration.</param>
|
||||
/// <param name="sep">The string separator to use. defualt <c>,</c>.</param>
|
||||
/// <returns>string of transcode reasons delimited.</returns>
|
||||
public static string Serialize(this TranscodeReason reasons, string sep = ",")
|
||||
{
|
||||
return string.Join(sep, reasons.ToArray());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes a TranscodeReason into an array of individual TranscodeReason bits.
|
||||
/// </summary>
|
||||
/// <param name="reasons">The <see cref="TranscodeReason"/> enumeration.</param>
|
||||
/// <returns>Array of <c>TranscodeReason</c>.</returns>
|
||||
public static TranscodeReason[] ToArray(this TranscodeReason reasons)
|
||||
{
|
||||
return _values.Where(r => r != 0 && reasons.HasFlag(r)).ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
#nullable disable
|
||||
#pragma warning disable CS1591
|
||||
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace MediaBrowser.Model.Session
|
||||
{
|
||||
public class TranscodingInfo
|
||||
@@ -31,9 +29,6 @@ namespace MediaBrowser.Model.Session
|
||||
|
||||
public HardwareEncodingType? HardwareAccelerationType { get; set; }
|
||||
|
||||
public TranscodeReason[] TranscodeReasons => TranscodeReason.ToArray();
|
||||
|
||||
[JsonIgnore]
|
||||
public TranscodeReason TranscodeReason { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user