diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-11-08 15:24:44 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-08 15:24:44 -0500 |
| commit | bc25454fcff620067bad2d5b27d05db177c2e0c9 (patch) | |
| tree | f8163dc787b7d86f5cd153d64fd034faa13bc267 /MediaBrowser.Model/Entities | |
| parent | bfa36bbceb6db1dcff406371c3b638771a43f1ba (diff) | |
| parent | 25138bbeb74a7f02a07ea98d4f5e64b76eb00bbf (diff) | |
Merge pull request #3008 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Model/Entities')
| -rw-r--r-- | MediaBrowser.Model/Entities/MediaStream.cs | 82 |
1 files changed, 77 insertions, 5 deletions
diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs index 747528cbfe..4cdcde4120 100644 --- a/MediaBrowser.Model/Entities/MediaStream.cs +++ b/MediaBrowser.Model/Entities/MediaStream.cs @@ -46,13 +46,13 @@ namespace MediaBrowser.Model.Entities { get { - if (!string.IsNullOrEmpty(Title)) - { - return AddLanguageIfNeeded(Title); - } - if (Type == MediaStreamType.Audio) { + if (!string.IsNullOrEmpty(Title)) + { + return AddLanguageIfNeeded(Title); + } + List<string> attributes = new List<string>(); if (!string.IsNullOrEmpty(Language)) @@ -84,8 +84,32 @@ namespace MediaBrowser.Model.Entities return string.Join(" ", attributes.ToArray(attributes.Count)); } + if (Type == MediaStreamType.Video) + { + List<string> attributes = new List<string>(); + + var resolutionText = GetResolutionText(); + + if (!string.IsNullOrEmpty(resolutionText)) + { + attributes.Add(resolutionText); + } + + if (!string.IsNullOrEmpty(Codec)) + { + attributes.Add(Codec.ToUpper()); + } + + return string.Join(" ", attributes.ToArray(attributes.Count)); + } + if (Type == MediaStreamType.Subtitle) { + if (!string.IsNullOrEmpty(Title)) + { + return AddLanguageIfNeeded(Title); + } + List<string> attributes = new List<string>(); if (!string.IsNullOrEmpty(Language)) @@ -121,6 +145,54 @@ namespace MediaBrowser.Model.Entities } } + private string GetResolutionText() + { + var i = this; + + if (i.Width.HasValue) + { + if (i.Width >= 3800) + { + return "4K"; + } + if (i.Width >= 2500) + { + if (i.IsInterlaced) + { + return "1440I"; + } + return "1440P"; + } + if (i.Width >= 1900) + { + if (i.IsInterlaced) + { + return "1080I"; + } + return "1080P"; + } + if (i.Width >= 1260) + { + if (i.IsInterlaced) + { + return "720I"; + } + return "720P"; + } + if (i.Width >= 700) + { + + if (i.IsInterlaced) + { + return "480I"; + } + return "480P"; + } + + } + return null; + } + private string AddLanguageIfNeeded(string title) { if (!string.IsNullOrEmpty(Language) && |
