浏览代码

Changed boolean options to enums

Matthew Jones 3 年之前
父节点
当前提交
91d143d6ee

+ 30 - 0
MediaBrowser.Model/Configuration/EmbeddedSubtitleOptions.cs

@@ -0,0 +1,30 @@
+namespace MediaBrowser.Model.Configuration
+{
+    /// <summary>
+    /// An enum representing the options to disable embedded subs.
+    /// </summary>
+    public enum EmbeddedSubtitleOptions
+    {
+
+        /// <summary>
+        /// Allow all embedded subs.
+        /// </summary>
+        AllowAll,
+
+        /// <summary>
+        /// Allow only embedded subs that are text based.
+        /// </summary>
+        AllowText,
+
+        /// <summary>
+        /// Allow only embedded subs that are image based.
+        /// </summary>
+        AllowImage,
+
+        /// <summary>
+        /// Disable all embedded subs.
+        /// </summary>
+        AllowNone,
+    }
+
+}

+ 2 - 3
MediaBrowser.Model/Configuration/LibraryOptions.cs

@@ -15,6 +15,7 @@ namespace MediaBrowser.Model.Configuration
 
             SkipSubtitlesIfAudioTrackMatches = true;
             RequirePerfectSubtitleMatch = true;
+            AllowEmbeddedSubtitles = EmbeddedSubtitleOptions.AllowAll;
 
             AutomaticallyAddToCollection = true;
             EnablePhotos = true;
@@ -84,9 +85,7 @@ namespace MediaBrowser.Model.Configuration
 
         public bool AutomaticallyAddToCollection { get; set; }
 
-        public bool DisableEmbeddedTextSubtitles { get; set; }
-
-        public bool DisableEmbeddedImageSubtitles { get; set; }
+        public EmbeddedSubtitleOptions AllowEmbeddedSubtitles { get; set; }
 
         public TypeOptions[] TypeOptions { get; set; }
 

+ 2 - 2
MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs

@@ -229,13 +229,13 @@ namespace MediaBrowser.Providers.MediaInfo
                 video.Video3DFormat ??= mediaInfo.Video3DFormat;
             }
 
-            if (libraryOptions.DisableEmbeddedImageSubtitles)
+            if (libraryOptions.AllowEmbeddedSubtitles == EmbeddedSubtitleOptions.AllowText || libraryOptions.AllowEmbeddedSubtitles == EmbeddedSubtitleOptions.AllowNone)
             {
                 _logger.LogDebug("Disabling embedded image subtitles for {Path} due to DisableEmbeddedImageSubtitles setting", video.Path);
                 mediaStreams.RemoveAll(i => i.Type == MediaStreamType.Subtitle && !i.IsExternal && !i.IsTextSubtitleStream);
             }
 
-            if (libraryOptions.DisableEmbeddedTextSubtitles)
+            if (libraryOptions.AllowEmbeddedSubtitles == EmbeddedSubtitleOptions.AllowImage || libraryOptions.AllowEmbeddedSubtitles == EmbeddedSubtitleOptions.AllowNone)
             {
                 _logger.LogDebug("Disabling embedded text subtitles for {Path} due to DisableEmbeddedTextSubtitles setting", video.Path);
                 mediaStreams.RemoveAll(i => i.Type == MediaStreamType.Subtitle && !i.IsExternal && i.IsTextSubtitleStream);