diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-13 10:43:51 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-13 10:43:51 -0400 |
| commit | 3481d0d8e7a31ef911cb6a65aec32e7831e48df4 (patch) | |
| tree | ed63b24d194a6aff7b591c441bc8963137c7fb49 | |
| parent | 242f0f21dc88b2300fc842f11996d84b3dfa5eb1 (diff) | |
validate chapters coming from xml
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 9 |
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); } } |
