aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-05 17:19:10 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-08-05 17:19:10 -0400
commitd14d2dee6ff9418fea4bf2815a0efa8af8c2def4 (patch)
tree968867bcd8e96ff81e754954d2035a6ff3708e10
parent18131d2cbc92dddae26383b7e9a6f175783335eb (diff)
added safeguards to GetDummyChapters
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs10
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
{