aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-12-24 15:06:52 -0500
committerLuke <luke.pulverenti@gmail.com>2015-12-24 15:06:52 -0500
commit2841eba20211c36c17d602e4cc2392bdcf0e33ad (patch)
treee169e14fc07ff8fafff39303c47a9bf4b33ce651 /MediaBrowser.Model/Dlna/ResolutionNormalizer.cs
parentf9804ce6d1743cb593cb43cf1f25665faf92573b (diff)
fixes #1310 - Downscaling 1280x720 to 720x404
Diffstat (limited to 'MediaBrowser.Model/Dlna/ResolutionNormalizer.cs')
-rw-r--r--MediaBrowser.Model/Dlna/ResolutionNormalizer.cs23
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;