diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-05 17:19:10 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-08-05 17:19:10 -0400 |
| commit | d14d2dee6ff9418fea4bf2815a0efa8af8c2def4 (patch) | |
| tree | 968867bcd8e96ff81e754954d2035a6ff3708e10 | |
| parent | 18131d2cbc92dddae26383b7e9a6f175783335eb (diff) | |
added safeguards to GetDummyChapters
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs index 5c74c18de..1b1812033 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs @@ -278,7 +278,7 @@ namespace MediaBrowser.Providers.MediaInfo FetchWtvInfo(video, data); - if (chapters.Count == 0) + if (chapters.Count == 0 && video.MediaStreams.Any(i => i.Type == MediaStreamType.Video)) { AddDummyChapters(video, chapters); } @@ -439,6 +439,11 @@ namespace MediaBrowser.Providers.MediaInfo { var runtime = video.RunTimeTicks ?? 0; + if (runtime < 0) + { + throw new ArgumentException(string.Format("{0} has invalid runtime of {1}", video.Name, runtime)); + } + if (runtime < _dummyChapterDuration) { return; @@ -447,7 +452,8 @@ namespace MediaBrowser.Providers.MediaInfo long currentChapterTicks = 0; var index = 1; - while (currentChapterTicks < runtime) + // Limit to 100 chapters just in case there's some incorrect metadata here + while (currentChapterTicks < runtime && index < 100) { chapters.Add(new ChapterInfo { |
