diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index 48a639d4d4..a6714f6561 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -1059,16 +1059,13 @@ namespace MediaBrowser.Controller.Providers } } - protected async Task FetchChaptersFromXmlNode(BaseItem item, XmlReader reader, IItemRepository repository, CancellationToken cancellationToken) + protected List FetchChaptersFromXmlNode(BaseItem item, XmlReader reader) { - var runtime = item.RunTimeTicks ?? 0; - using (reader) { - var chapters = GetChaptersFromXmlNode(reader) - .Where(i => i.StartPositionTicks >= 0 && i.StartPositionTicks < runtime); - - await repository.SaveChapters(item.Id, chapters, cancellationToken).ConfigureAwait(false); + return GetChaptersFromXmlNode(reader) + .Where(i => i.StartPositionTicks >= 0) + .ToList(); } } diff --git a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs index a7c1e6e1b8..1320db67a0 100644 --- a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Model.Entities; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -35,10 +36,12 @@ namespace MediaBrowser.Controller.Providers public T Item { get; set; } public List Images { get; set; } + public List Chapters { get; set; } public LocalMetadataResult() { Images = new List(); + Chapters = new List(); } } } diff --git a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs b/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs index efc8db9e7f..07b24c57d6 100644 --- a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs +++ b/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs @@ -1,8 +1,10 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Providers.Movies; +using System.Collections.Generic; using System.IO; using System.Threading; @@ -20,7 +22,11 @@ namespace MediaBrowser.Providers.AdultVideos protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) { - new MovieXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + var chapters = new List(); + + new MovieXmlParser(_logger).Fetch(result.Item, chapters, path, cancellationToken); + + result.Chapters = chapters; } protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) diff --git a/MediaBrowser.Providers/Movies/MovieXmlParser.cs b/MediaBrowser.Providers/Movies/MovieXmlParser.cs index 64038e8537..52795ac2d7 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlParser.cs +++ b/MediaBrowser.Providers/Movies/MovieXmlParser.cs @@ -1,7 +1,9 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; +using System.Collections.Generic; using System.Threading; using System.Xml; @@ -12,13 +14,20 @@ namespace MediaBrowser.Providers.Movies /// public class MovieXmlParser : BaseItemXmlParser