aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 89bc9f2c2..59307f4e7 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -871,13 +871,16 @@ namespace MediaBrowser.Controller.Providers
}
}
- protected async Task FetchChaptersFromXmlNode(Guid itemId, XmlReader reader, IItemRepository repository, CancellationToken cancellationToken)
+ protected async Task FetchChaptersFromXmlNode(BaseItem item, XmlReader reader, IItemRepository repository, CancellationToken cancellationToken)
{
+ var runtime = item.RunTimeTicks ?? 0;
+
using (reader)
{
- var chapters = GetChaptersFromXmlNode(reader);
+ var chapters = GetChaptersFromXmlNode(reader)
+ .Where(i => i.StartPositionTicks >= 0 && i.StartPositionTicks < runtime);
- await repository.SaveChapters(itemId, chapters, cancellationToken).ConfigureAwait(false);
+ await repository.SaveChapters(item.Id, chapters, cancellationToken).ConfigureAwait(false);
}
}