From 7841d9eb66cece2cc72307e9b9a078acd50943c7 Mon Sep 17 00:00:00 2001 From: Eric Reed Date: Wed, 18 May 2016 14:23:46 -0400 Subject: [PATCH] Friendly stream names --- MediaBrowser.Model/Entities/MediaStream.cs | 14 ++++++---- MediaBrowser.Model/Extensions/CodecHelper.cs | 28 +++++++++++++++++++ MediaBrowser.Model/Extensions/StringHelper.cs | 5 ++++ MediaBrowser.Model/MediaBrowser.Model.csproj | 1 + 4 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 MediaBrowser.Model/Extensions/CodecHelper.cs diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs index 9b814c5ccc..d0d4669062 100644 --- a/MediaBrowser.Model/Entities/MediaStream.cs +++ b/MediaBrowser.Model/Entities/MediaStream.cs @@ -53,18 +53,22 @@ namespace MediaBrowser.Model.Entities if (!string.IsNullOrEmpty(Language)) { - attributes.Add(Language); + attributes.Add(Language.FirstToUpper()); } if (!string.IsNullOrEmpty(Codec) && !StringHelper.EqualsIgnoreCase(Codec, "dca")) { - attributes.Add(Codec); - } - if (!string.IsNullOrEmpty(Profile) && !StringHelper.EqualsIgnoreCase(Profile, "lc")) + attributes.Add(CodecHelper.FriendlyName(Codec)); + } + else if (!string.IsNullOrEmpty(Profile) && !StringHelper.EqualsIgnoreCase(Profile, "lc")) { attributes.Add(Profile); } - if (Channels.HasValue) + if (!string.IsNullOrEmpty(ChannelLayout)) + { + attributes.Add(ChannelLayout); + } + else if (Channels.HasValue) { attributes.Add(StringHelper.ToStringCultureInvariant(Channels.Value) + " ch"); } diff --git a/MediaBrowser.Model/Extensions/CodecHelper.cs b/MediaBrowser.Model/Extensions/CodecHelper.cs new file mode 100644 index 0000000000..8d037008ef --- /dev/null +++ b/MediaBrowser.Model/Extensions/CodecHelper.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MediaBrowser.Model.Extensions +{ + public static class CodecHelper + { + public static string FriendlyName(string codec) + { + if (string.IsNullOrEmpty(codec)) return ""; + + switch (codec.ToLower()) + { + case "ac3": + return "Dolby Digital"; + case "eac3": + return "Dolby Digital+"; + case "dca": + return "DTS"; + default: + return codec.ToUpper(); + } + } + } +} diff --git a/MediaBrowser.Model/Extensions/StringHelper.cs b/MediaBrowser.Model/Extensions/StringHelper.cs index 99bec68a73..9cde3bfa45 100644 --- a/MediaBrowser.Model/Extensions/StringHelper.cs +++ b/MediaBrowser.Model/Extensions/StringHelper.cs @@ -125,5 +125,10 @@ namespace MediaBrowser.Model.Extensions return sb.ToString(); } + + public static string FirstToUpper(this string str) + { + return string.IsNullOrEmpty(str) ? "" : str.Substring(0, 1).ToUpper() + str.Substring(1); + } } } diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 7c469b9fb9..dc78bcf8eb 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -137,6 +137,7 @@ +