Selaa lähdekoodia

update episode nfo saving

Luke Pulverenti 8 vuotta sitten
vanhempi
sitoutus
806c795069

+ 8 - 1
MediaBrowser.Server.Implementations/MediaEncoder/EncodingManager.cs

@@ -123,10 +123,17 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
                 {
                     if (extractImages)
                     {
-                        if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
+                        if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso)
                         {
                             continue;
                         }
+                        if (video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
+                        {
+                            if (video.PlayableStreamFileNames.Count != 1)
+                            {
+                                continue;
+                            }
+                        }
 
                         // Add some time for the first chapter to make sure we don't end up with a black image
                         var time = chapter.StartPositionTicks == 0 ? TimeSpan.FromTicks(Math.Min(FirstChapterTicks, video.RunTimeTicks ?? 0)) : TimeSpan.FromTicks(chapter.StartPositionTicks);

+ 11 - 7
MediaBrowser.XbmcMetadata/Savers/EpisodeNfoSaver.cs

@@ -72,19 +72,23 @@ namespace MediaBrowser.XbmcMetadata.Savers
             {
                 writer.WriteElementString("airsbefore_episode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
             }
-            if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
-            {
-                writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
-            }
             if (episode.AirsBeforeSeasonNumber.HasValue && episode.AirsBeforeSeasonNumber.Value != -1)
             {
                 writer.WriteElementString("airsbefore_season", episode.AirsBeforeSeasonNumber.Value.ToString(UsCulture));
             }
 
-            var season = episode.AiredSeasonNumber;
-            if (season.HasValue && season.Value != -1)
+            if (episode.ParentIndexNumber.HasValue && episode.ParentIndexNumber.Value == 0)
             {
-                writer.WriteElementString("displayseason", season.Value.ToString(UsCulture));
+                if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
+                {
+                    writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
+                }
+
+                var specialSeason = episode.AiredSeasonNumber;
+                if (specialSeason.HasValue && specialSeason.Value != -1)
+                {
+                    writer.WriteElementString("displayseason", specialSeason.Value.ToString(UsCulture));
+                }
             }
 
             if (episode.DvdEpisodeNumber.HasValue)