mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-23 22:25:14 -04:00
28177eb042
Co-Authored-By: taloth <taloth@users.noreply.github.com> Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
59 lines
2.0 KiB
C#
59 lines
2.0 KiB
C#
using System;
|
|
using NzbDrone.Core.MediaFiles.MediaInfo;
|
|
using NzbDrone.Core.Parser.Model;
|
|
using NzbDrone.Core.Qualities;
|
|
|
|
namespace NzbDrone.Core.Parser.Augmenters
|
|
{
|
|
public class AugmentWithMediaInfo : IAugmentParsedMovieInfo
|
|
{
|
|
public Type HelperType
|
|
{
|
|
get
|
|
{
|
|
return typeof(MediaInfoModel);
|
|
}
|
|
}
|
|
|
|
public ParsedMovieInfo AugmentMovieInfo(ParsedMovieInfo movieInfo, object helper)
|
|
{
|
|
if (helper is MediaInfoModel mediaInfo)
|
|
{
|
|
var quality = movieInfo.Quality;
|
|
if (!(quality.Quality.Modifier == Modifier.BRDISK || quality.Quality.Modifier == Modifier.REMUX) &&
|
|
(quality.Quality.Source == Source.BLURAY || quality.Quality.Source == Source.TV ||
|
|
quality.Quality.Source == Source.WEBDL) &&
|
|
!(quality.Quality.Resolution == (int)Resolution.R480p || quality.Quality.Resolution == (int)Resolution.R576p))
|
|
{
|
|
var width = mediaInfo.Width;
|
|
var existing = quality.Quality.Resolution;
|
|
|
|
if (width > 854)
|
|
{
|
|
quality.Quality.Resolution = (int)Resolution.R720p;
|
|
}
|
|
|
|
if (width > 1280)
|
|
{
|
|
quality.Quality.Resolution = (int)Resolution.R1080p;
|
|
}
|
|
|
|
if (width > 1920)
|
|
{
|
|
quality.Quality.Resolution = (int)Resolution.R2160p;
|
|
}
|
|
|
|
if (existing != quality.Quality.Resolution)
|
|
{
|
|
//_logger.Debug("Overwriting resolution info {0} with info from media info {1}", existing, quality.Resolution);
|
|
quality.ResolutionDetectionSource = QualityDetectionSource.MediaInfo;
|
|
movieInfo.Quality = quality;
|
|
}
|
|
}
|
|
}
|
|
|
|
return movieInfo;
|
|
}
|
|
}
|
|
}
|