diff --git a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/AggregateQuality.cs b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/AggregateQuality.cs index 8ae8fa4bbb..d85a5bb0cb 100644 --- a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/AggregateQuality.cs +++ b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/AggregateQuality.cs @@ -41,7 +41,7 @@ public LocalMovie Aggregate(LocalMovie localMovie, DownloadClientItem downloadCl continue; } - _logger.Trace("Considering Source {0} ({1}) Resolution {2} ({3}) Revision {4} from {5}", augmentedQuality.Source, augmentedQuality.SourceConfidence, augmentedQuality.Resolution, augmentedQuality.ResolutionConfidence, augmentedQuality.Revision, augmentQuality.Name); + _logger.Trace("Considering Source {0} ({1}) Resolution {2} ({3}) Modifier {4} ({5}) Revision {6} from {7}", augmentedQuality.Source, augmentedQuality.SourceConfidence, augmentedQuality.Resolution, augmentedQuality.ResolutionConfidence, augmentedQuality.Modifier, augmentedQuality.ModifierConfidence, augmentedQuality.Revision, augmentQuality.Name); if (source == QualitySource.UNKNOWN || (augmentedQuality.SourceConfidence > sourceConfidence && augmentedQuality.Source != QualitySource.UNKNOWN)) @@ -85,7 +85,7 @@ public LocalMovie Aggregate(LocalMovie localMovie, DownloadClientItem downloadCl } } - _logger.Trace("Selected Source {0} ({1}) Resolution {2} ({3}) Revision {4}", source, sourceConfidence, resolution, resolutionConfidence, revision); + _logger.Trace("Selected Source {0} ({1}) Resolution {2} ({3}) Modifier {4} ({5}) Revision {6}", source, sourceConfidence, resolution, resolutionConfidence, modifier, modifierConfidence, revision); var quality = new QualityModel(QualityFinder.FindBySourceAndResolution(source, resolution, modifier), revision); diff --git a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityFromMediaInfo.cs b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityFromMediaInfo.cs index 70800f1fb2..0d41c6e149 100644 --- a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityFromMediaInfo.cs +++ b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityFromMediaInfo.cs @@ -30,6 +30,8 @@ public AugmentQualityResult AugmentQuality(LocalMovie localMovie, DownloadClient var height = localMovie.MediaInfo.Height; var source = QualitySource.UNKNOWN; var sourceConfidence = Confidence.Default; + var modifier = Modifier.NONE; + var modifierConfidence = Confidence.Default; var title = localMovie.MediaInfo.Title?.Trim(); if (title.IsNotNullOrWhiteSpace()) @@ -44,37 +46,39 @@ public AugmentQualityResult AugmentQuality(LocalMovie localMovie, DownloadClient { source = parsedQuality.Quality.Source; sourceConfidence = Confidence.MediaInfo; + modifier = parsedQuality.Quality.Modifier; + modifierConfidence = Confidence.MediaInfo; } } if (width >= 3200 || height >= 2100) { _logger.Trace("Resolution {0}x{1} considered 2160p", width, height); - return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R2160p, Confidence.MediaInfo); + return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R2160p, Confidence.MediaInfo, modifier, modifierConfidence); } if (width >= 1800 || height >= 1000) { _logger.Trace("Resolution {0}x{1} considered 1080p", width, height); - return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R1080p, Confidence.MediaInfo); + return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R1080p, Confidence.MediaInfo, modifier, modifierConfidence); } if (width >= 1200 || height >= 700) { _logger.Trace("Resolution {0}x{1} considered 720p", width, height); - return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R720p, Confidence.MediaInfo); + return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R720p, Confidence.MediaInfo, modifier, modifierConfidence); } if (width >= 1000 || height >= 560) { _logger.Trace("Resolution {0}x{1} considered 576p", width, height); - return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R576p, Confidence.MediaInfo); + return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R576p, Confidence.MediaInfo, modifier, modifierConfidence); } if (width > 0 && height > 0) { _logger.Trace("Resolution {0}x{1} considered 480p", width, height); - return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R480p, Confidence.MediaInfo); + return AugmentQualityResult.SourceAndResolutionOnly(source, sourceConfidence, (int)Resolution.R480p, Confidence.MediaInfo, modifier, modifierConfidence); } _logger.Trace("Resolution {0}x{1}", width, height); diff --git a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityResult.cs b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityResult.cs index 5c46aa05aa..a1bf7e988b 100644 --- a/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityResult.cs +++ b/src/NzbDrone.Core/MediaFiles/MovieImport/Aggregation/Aggregators/Augmenters/Quality/AugmentQualityResult.cs @@ -43,14 +43,9 @@ public static AugmentQualityResult ResolutionOnly(int resolution, Confidence res return new AugmentQualityResult(QualitySource.UNKNOWN, Confidence.Default, resolution, resolutionConfidence, Modifier.NONE, Confidence.Default, null, Confidence.Default); } - public static AugmentQualityResult ModifierOnly(Modifier modifier, Confidence modifierConfidence) + public static AugmentQualityResult SourceAndResolutionOnly(QualitySource source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence, Modifier modifier, Confidence modifierConfidence) { - return new AugmentQualityResult(QualitySource.UNKNOWN, Confidence.Default, 0, Confidence.Default, modifier, modifierConfidence, null, Confidence.Default); - } - - public static AugmentQualityResult SourceAndResolutionOnly(QualitySource source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence) - { - return new AugmentQualityResult(source, sourceConfidence, resolution, resolutionConfidence, Modifier.NONE, Confidence.Default, null, Confidence.Default); + return new AugmentQualityResult(source, sourceConfidence, resolution, resolutionConfidence, modifier, modifierConfidence, null, Confidence.Default); } } }