MediaInfo added

New: Samples will only be skipped when under 70MB and under 8 minutes in
length
#ND-121 fixed
This commit is contained in:
Mark McDowall 2013-01-20 16:35:42 -08:00
commit e136b458e0
9 changed files with 294 additions and 50 deletions

View file

@ -23,12 +23,13 @@ namespace NzbDrone.Core.Providers
private readonly SignalRProvider _signalRProvider;
private readonly ConfigProvider _configProvider;
private readonly RecycleBinProvider _recycleBinProvider;
private readonly MediaInfoProvider _mediaInfoProvider;
public DiskScanProvider(DiskProvider diskProvider, EpisodeProvider episodeProvider,
SeriesProvider seriesProvider, MediaFileProvider mediaFileProvider,
ExternalNotificationProvider externalNotificationProvider, DownloadProvider downloadProvider,
SignalRProvider signalRProvider, ConfigProvider configProvider,
RecycleBinProvider recycleBinProvider)
RecycleBinProvider recycleBinProvider, MediaInfoProvider mediaInfoProvider)
{
_diskProvider = diskProvider;
_episodeProvider = episodeProvider;
@ -39,6 +40,7 @@ namespace NzbDrone.Core.Providers
_signalRProvider = signalRProvider;
_configProvider = configProvider;
_recycleBinProvider = recycleBinProvider;
_mediaInfoProvider = mediaInfoProvider;
}
public DiskScanProvider()
@ -110,10 +112,9 @@ namespace NzbDrone.Core.Providers
}
long size = _diskProvider.GetSize(filePath);
//Todo: We shouldn't skip on file size alone, 64MB Family Guy episodes are skipped...
//Skip any file under 70MB - New samples don't even have sample in the name...
if (size < Constants.IgnoreFileSize)
var runTime = _mediaInfoProvider.GetRunTime(filePath);
if(size < Constants.IgnoreFileSize && runTime < 480)
{
Logger.Trace("[{0}] appears to be a sample. skipping.", filePath);
return null;