mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-24 02:02:29 -04:00
Issue: https://github.com/jellyfin/jellyfin/issues/6450 Enable DirectPlay responses Rewrite DirectPlay and DirectStream resolution Prefer copy transcode video codec options Enhance condition processor Support DirectStream and Transcode with parity Rework audio stream selection and add tests for ExternalAudio Update MediaInfoHelper to only call StreamBuilder once
35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|