Explorar o código

save chapters in xml

Luke Pulverenti %!s(int64=11) %!d(string=hai) anos
pai
achega
4b585e3148

+ 3 - 1
MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs

@@ -255,7 +255,9 @@ namespace MediaBrowser.Providers.MediaInfo
                 }
             }
 
-            info.StartPositionTicks = chapter.start / 100;
+            // Limit accuracy to milliseconds to match xml saving
+            var ms = Math.Round(TimeSpan.FromTicks(chapter.start / 100).TotalMilliseconds);
+            info.StartPositionTicks = TimeSpan.FromMilliseconds(ms).Ticks;
 
             return info;
         }

+ 19 - 14
MediaBrowser.Providers/Savers/XmlSaverHelpers.cs

@@ -636,22 +636,27 @@ namespace MediaBrowser.Providers.Savers
         {
             var video = item as Video;
 
-            if (video != null && video.Video3DFormat.HasValue)
+            if (video != null)
             {
-                switch (video.Video3DFormat.Value)
+                AddChapters(video, builder, itemRepository);
+
+                if (video.Video3DFormat.HasValue)
                 {
-                    case Video3DFormat.FullSideBySide:
-                        builder.Append("<Format3D>FSBS</Format3D>");
-                        break;
-                    case Video3DFormat.FullTopAndBottom:
-                        builder.Append("<Format3D>FTAB</Format3D>");
-                        break;
-                    case Video3DFormat.HalfSideBySide:
-                        builder.Append("<Format3D>HSBS</Format3D>");
-                        break;
-                    case Video3DFormat.HalfTopAndBottom:
-                        builder.Append("<Format3D>HTAB</Format3D>");
-                        break;
+                    switch (video.Video3DFormat.Value)
+                    {
+                        case Video3DFormat.FullSideBySide:
+                            builder.Append("<Format3D>FSBS</Format3D>");
+                            break;
+                        case Video3DFormat.FullTopAndBottom:
+                            builder.Append("<Format3D>FTAB</Format3D>");
+                            break;
+                        case Video3DFormat.HalfSideBySide:
+                            builder.Append("<Format3D>HSBS</Format3D>");
+                            break;
+                        case Video3DFormat.HalfTopAndBottom:
+                            builder.Append("<Format3D>HTAB</Format3D>");
+                            break;
+                    }
                 }
             }
         }