diff --git a/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/DetectSampleFixture.cs b/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/DetectSampleFixture.cs index cb5e45de5..ae7934b70 100644 --- a/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/DetectSampleFixture.cs +++ b/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/DetectSampleFixture.cs @@ -213,5 +213,16 @@ public void should_use_runtime_from_episode_over_series() Subject.IsSample(_localEpisode).Should().Be(DetectSampleResult.Sample); } + + [Test] + public void should_default_to_45_minutes_if_runtime_is_zero() + { + GivenRuntime(120); + + _localEpisode.Series.Runtime = 0; + _localEpisode.Episodes.First().Runtime = 0; + + Subject.IsSample(_localEpisode).Should().Be(DetectSampleResult.Sample); + } } } diff --git a/src/NzbDrone.Core/MediaFiles/EpisodeImport/DetectSample.cs b/src/NzbDrone.Core/MediaFiles/EpisodeImport/DetectSample.cs index e718840d1..42a28baf4 100644 --- a/src/NzbDrone.Core/MediaFiles/EpisodeImport/DetectSample.cs +++ b/src/NzbDrone.Core/MediaFiles/EpisodeImport/DetectSample.cs @@ -66,6 +66,12 @@ public DetectSampleResult IsSample(LocalEpisode localEpisode) return DetectSampleResult.Indeterminate; } + if (runtime == 0) + { + _logger.Debug("Series runtime is 0, defaulting runtime to 45 minutes"); + runtime = 45; + } + return IsSample(localEpisode.Path, localEpisode.MediaInfo.RunTime, runtime); }