diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-05-15 00:34:33 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-15 00:34:33 -0400 |
| commit | a4efcf07f42d1ccd2be0c2f4d2af1208366f6ab6 (patch) | |
| tree | c4d0a9693850b977b66c057508b286ed50da9a3c /MediaBrowser.Controller | |
| parent | e2085763296e32e7ef1532460030e5449725116a (diff) | |
| parent | 4a8aa20698aa761cba7ab7e45181a2b3251fca64 (diff) | |
Merge pull request #2639 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Controller')
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"; |
