From 25138bbeb74a7f02a07ea98d4f5e64b76eb00bbf Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 8 Nov 2017 15:23:39 -0500 Subject: update subtitle downloading to use local metadata settings --- MediaBrowser.Model/Entities/MediaStream.cs | 82 +++++++++++++++++++++++-- MediaBrowser.Model/Providers/SubtitleOptions.cs | 2 - 2 files changed, 77 insertions(+), 7 deletions(-) (limited to 'MediaBrowser.Model') diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs index 747528cbf..4cdcde412 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 attributes = new List(); if (!string.IsNullOrEmpty(Language)) @@ -84,8 +84,32 @@ namespace MediaBrowser.Model.Entities return string.Join(" ", attributes.ToArray(attributes.Count)); } + if (Type == MediaStreamType.Video) + { + List attributes = new List(); + + 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 attributes = new List(); 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) && diff --git a/MediaBrowser.Model/Providers/SubtitleOptions.cs b/MediaBrowser.Model/Providers/SubtitleOptions.cs index d0d81e1fb..5587e897f 100644 --- a/MediaBrowser.Model/Providers/SubtitleOptions.cs +++ b/MediaBrowser.Model/Providers/SubtitleOptions.cs @@ -13,7 +13,6 @@ namespace MediaBrowser.Model.Providers public bool IsOpenSubtitleVipAccount { get; set; } public bool RequirePerfectMatch { get; set; } - public bool SaveSubtitlesInMediaFolders { get; set; } public SubtitleOptions() { @@ -21,7 +20,6 @@ namespace MediaBrowser.Model.Providers SkipIfAudioTrackMatches = true; RequirePerfectMatch = true; - SaveSubtitlesInMediaFolders = true; } } } \ No newline at end of file -- cgit v1.2.3