aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-05-15 00:34:33 -0400
committerGitHub <noreply@github.com>2017-05-15 00:34:33 -0400
commita4efcf07f42d1ccd2be0c2f4d2af1208366f6ab6 (patch)
treec4d0a9693850b977b66c057508b286ed50da9a3c /MediaBrowser.Controller
parente2085763296e32e7ef1532460030e5449725116a (diff)
parent4a8aa20698aa761cba7ab7e45181a2b3251fca64 (diff)
Merge pull request #2639 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Drawing/IImageEncoder.cs11
-rw-r--r--MediaBrowser.Controller/Drawing/ImageHelper.cs69
-rw-r--r--MediaBrowser.Controller/Entities/IHasAwards.cs15
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs4
-rw-r--r--MediaBrowser.Controller/Entities/PhotoAlbum.cs10
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj2
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs3
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs12
9 files changed, 84 insertions, 44 deletions
diff --git a/MediaBrowser.Controller/Drawing/IImageEncoder.cs b/MediaBrowser.Controller/Drawing/IImageEncoder.cs
index 830093fcf..64d997dba 100644
--- a/MediaBrowser.Controller/Drawing/IImageEncoder.cs
+++ b/MediaBrowser.Controller/Drawing/IImageEncoder.cs
@@ -15,18 +15,11 @@ namespace MediaBrowser.Controller.Drawing
/// </summary>
/// <value>The supported output formats.</value>
ImageFormat[] SupportedOutputFormats { get; }
+
/// <summary>
/// Encodes the image.
/// </summary>
- /// <param name="inputPath">The input path.</param>
- /// <param name="outputPath">The output path.</param>
- /// <param name="autoOrient">if set to <c>true</c> [automatic orient].</param>
- /// <param name="width">The width.</param>
- /// <param name="height">The height.</param>
- /// <param name="quality">The quality.</param>
- /// <param name="options">The options.</param>
- /// <param name="outputFormat">The output format.</param>
- void EncodeImage(string inputPath, string outputPath, bool autoOrient, int width, int height, int quality, ImageProcessingOptions options, ImageFormat outputFormat);
+ void EncodeImage(string inputPath, ImageSize? originalImageSize, string outputPath, bool autoOrient, int quality, ImageProcessingOptions options, ImageFormat outputFormat);
/// <summary>
/// Creates the image collage.
diff --git a/MediaBrowser.Controller/Drawing/ImageHelper.cs b/MediaBrowser.Controller/Drawing/ImageHelper.cs
new file mode 100644
index 000000000..30c4e90fb
--- /dev/null
+++ b/MediaBrowser.Controller/Drawing/ImageHelper.cs
@@ -0,0 +1,69 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Drawing;
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Controller.Drawing
+{
+ public static class ImageHelper
+ {
+ public static ImageSize GetNewImageSize(ImageProcessingOptions options, ImageSize? originalImageSize)
+ {
+ if (originalImageSize.HasValue)
+ {
+ // Determine the output size based on incoming parameters
+ var newSize = DrawingUtils.Resize(originalImageSize.Value, options.Width, options.Height, options.MaxWidth, options.MaxHeight);
+
+ return newSize;
+ }
+ return GetSizeEstimate(options);
+ }
+
+ private static ImageSize GetSizeEstimate(ImageProcessingOptions options)
+ {
+ if (options.Width.HasValue && options.Height.HasValue)
+ {
+ return new ImageSize(options.Width.Value, options.Height.Value);
+ }
+
+ var aspect = GetEstimatedAspectRatio(options.Image.Type, options.Item);
+
+ var width = options.Width ?? options.MaxWidth;
+
+ if (width.HasValue)
+ {
+ var heightValue = width.Value / aspect;
+ return new ImageSize(width.Value, heightValue);
+ }
+
+ var height = options.Height ?? options.MaxHeight ?? 200;
+ var widthValue = aspect * height;
+ return new ImageSize(widthValue, height);
+ }
+
+ private static double GetEstimatedAspectRatio(ImageType type, IHasImages item)
+ {
+ switch (type)
+ {
+ case ImageType.Art:
+ case ImageType.Backdrop:
+ case ImageType.Chapter:
+ case ImageType.Screenshot:
+ case ImageType.Thumb:
+ return 1.78;
+ case ImageType.Banner:
+ return 5.4;
+ case ImageType.Box:
+ case ImageType.BoxRear:
+ case ImageType.Disc:
+ case ImageType.Menu:
+ return 1;
+ case ImageType.Logo:
+ return 2.58;
+ case ImageType.Primary:
+ return item.GetDefaultPrimaryImageAspectRatio() ?? .667;
+ default:
+ return 1;
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Controller/Entities/IHasAwards.cs b/MediaBrowser.Controller/Entities/IHasAwards.cs
deleted file mode 100644
index 6661702fa..000000000
--- a/MediaBrowser.Controller/Entities/IHasAwards.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-
-namespace MediaBrowser.Controller.Entities
-{
- /// <summary>
- /// Interface IHasAwards
- /// </summary>
- public interface IHasAwards
- {
- /// <summary>
- /// Gets or sets the awards summary.
- /// </summary>
- /// <value>The awards summary.</value>
- string AwardSummary { get; set; }
- }
-}
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index 092461c84..3c948487d 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -251,7 +251,7 @@ namespace MediaBrowser.Controller.Entities
if (policy.MaxParentalRating.HasValue)
{
- BlockUnratedItems = policy.BlockUnratedItems;
+ BlockUnratedItems = policy.BlockUnratedItems.Where(i => i != UnratedItem.Other).ToArray();
}
ExcludeInheritedTags = policy.BlockedTags;
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 371be3dfe..c2a01f4ff 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -17,7 +17,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
- public class Movie : Video, IHasSpecialFeatures, IHasTrailers, IHasAwards, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping
+ public class Movie : Video, IHasSpecialFeatures, IHasTrailers, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping
{
public List<Guid> SpecialFeatureIds { get; set; }
@@ -29,8 +29,6 @@ namespace MediaBrowser.Controller.Entities.Movies
RemoteTrailerIds = new List<Guid>();
}
- public string AwardSummary { get; set; }
-
public List<Guid> LocalTrailerIds { get; set; }
public List<Guid> RemoteTrailerIds { get; set; }
diff --git a/MediaBrowser.Controller/Entities/PhotoAlbum.cs b/MediaBrowser.Controller/Entities/PhotoAlbum.cs
index c902ac8cd..dd3cd98fb 100644
--- a/MediaBrowser.Controller/Entities/PhotoAlbum.cs
+++ b/MediaBrowser.Controller/Entities/PhotoAlbum.cs
@@ -1,7 +1,4 @@
-using MediaBrowser.Model.Configuration;
-using MediaBrowser.Model.Users;
-using System.Linq;
-using MediaBrowser.Model.Serialization;
+using MediaBrowser.Model.Serialization;
namespace MediaBrowser.Controller.Entities
{
@@ -24,10 +21,5 @@ namespace MediaBrowser.Controller.Entities
return false;
}
}
-
- protected override bool GetBlockUnratedValue(UserPolicy config)
- {
- return config.BlockUnratedItems.Contains(UnratedItem.Other);
- }
}
}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 1f10fab73..b3a29bafa 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -91,6 +91,7 @@
<Compile Include="Drawing\IImageEncoder.cs" />
<Compile Include="Drawing\IImageProcessor.cs" />
<Compile Include="Drawing\ImageCollageOptions.cs" />
+ <Compile Include="Drawing\ImageHelper.cs" />
<Compile Include="Drawing\ImageProcessingOptions.cs" />
<Compile Include="Drawing\ImageProcessorExtensions.cs" />
<Compile Include="Drawing\ImageStream.cs" />
@@ -131,7 +132,6 @@
<Compile Include="Entities\ItemImageInfo.cs" />
<Compile Include="Entities\LinkedChild.cs" />
<Compile Include="Entities\MusicVideo.cs" />
- <Compile Include="Entities\IHasAwards.cs" />
<Compile Include="Entities\PeopleHelper.cs" />
<Compile Include="Entities\Photo.cs" />
<Compile Include="Entities\PhotoAlbum.cs" />
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index 11311905c..29d37f99b 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -1749,7 +1749,8 @@ namespace MediaBrowser.Controller.MediaEncoding
{
if (!string.IsNullOrWhiteSpace(encodingOptions.HardwareAccelerationType))
{
- return "-hwaccel auto";
+ // causing unpredictable results
+ //return "-hwaccel auto";
}
if (string.Equals(encodingOptions.HardwareAccelerationType, "qsv", StringComparison.OrdinalIgnoreCase))
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
index 409dec482..9b89e8f5a 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
@@ -59,7 +59,7 @@ namespace MediaBrowser.Controller.MediaEncoding
{
get
{
- return false;
+ return MediaSource.GenPtsInput;
}
}
@@ -93,11 +93,13 @@ namespace MediaBrowser.Controller.MediaEncoding
{
get
{
- // For live tv + recordings
- if (string.Equals(InputContainer, "mpegts", StringComparison.OrdinalIgnoreCase) ||
- string.Equals(InputContainer, "ts", StringComparison.OrdinalIgnoreCase))
+ // For live tv + in progress recordings
+ if (string.Equals(InputContainer, "mpegts", StringComparison.OrdinalIgnoreCase) || string.Equals(InputContainer, "ts", StringComparison.OrdinalIgnoreCase))
{
- return "cfr";
+ if (!MediaSource.RunTimeTicks.HasValue)
+ {
+ return "cfr";
+ }
}
return "-1";