diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-12-24 15:06:52 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-12-26 09:25:13 -0500 |
| commit | fb3c69c61207e9f9fe87b515932a81228c4942d4 (patch) | |
| tree | c28c1bd173230471e4d229c90f4d2785d2f14ae9 /MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | |
| parent | 07d0384e87d1b9d8c7b480b27705889b65f327ab (diff) | |
fixes #1310 - Downscaling 1280x720 to 720x404
Diffstat (limited to 'MediaBrowser.Model/Dlna/ResolutionNormalizer.cs')
| -rw-r--r-- | MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs index b23c0b20b..8a412ac2c 100644 --- a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs +++ b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs @@ -14,14 +14,29 @@ namespace MediaBrowser.Model.Dlna new ResolutionConfiguration(1280, 2500000) }; - public static ResolutionOptions Normalize(int maxBitrate, - string codec, + public static ResolutionOptions Normalize(int? inputBitrate, + int outputBitrate, + string inputCodec, + string outputCodec, int? maxWidth, int? maxHeight) { - foreach (var config in Configurations) + // If the bitrate isn't changing, then don't downlscale the resolution + if (inputBitrate.HasValue && outputBitrate >= inputBitrate.Value) + { + if (maxWidth.HasValue || maxHeight.HasValue) + { + return new ResolutionOptions + { + MaxWidth = maxWidth, + MaxHeight = maxHeight + }; + } + } + + foreach (var config in Configurations) { - if (maxBitrate <= config.MaxBitrate) + if (outputBitrate <= config.MaxBitrate) { var originvalValue = maxWidth; |
