aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Drawing
AgeCommit message (Collapse)Author
2 daysUpdate MediaBrowser.Controller/Drawing/ImageHelper.csCody Robibero
Co-authored-by: Tim Eisele <Tim_Eisele@web.de>
5 daysStop image endpoints from upscaling beyond the source resolutionvavallee
ImageHelper.GetNewImageSize passed the caller-supplied width/height straight through to SkiaEncoder.EncodeImage, which allocates an SKImageInfo of exactly that size. Nothing bounded those values against the source image, so a request like Items/<id>/Images/Primary?width=23100&height=23100 made the server allocate and resample a 23100x23100 surface from, say, a 600x336 poster: the reporter measured 100% of a core for 10-15 minutes and 6-12 GB resident per request. The item images endpoints do not require authentication, so any caller who knows an item id can trigger this, and varying the size by one pixel misses the cache every time. Add DrawingUtils.ScaleDownToFit, which scales a size down uniformly until it fits inside a bounding box and returns it unchanged if it already does, and apply it in GetNewImageSize against the original image dimensions. Requests that ask for more pixels than the source now get the source resolution back, scaled to the requested aspect ratio. Downscaling paths are untouched, and DrawingUtils.Resize keeps its existing behaviour for the transcoding callers in EncodingJobInfo and StreamInfo, which legitimately size video output. ResizeFill already refused to upscale; this makes width/height consistent with fillWidth/fillHeight. Fixes #17056.
2025-03-25Fixed namespacesJPVenson
2024-10-09Naming refactoring and WIP porting of new interface repositoriesJPVenson
2024-02-06Remove some unused drawing codePatrick Barron
2023-10-18Merge branch 'master' into trickplayNick
2023-10-08Jellyfin.Drawing minor improvementsBond_009
Reduce duplicate/dead code
2023-09-12Merge pull request #10056 from Bond-009/nullable2Bond-009
2023-08-22Enable nullable for more files and add testsBond_009
Adds basic tests for FFProbeVideoInfo.CreateDummyChapters Fixed error message CreateDummyChapters instead of reporting the total minutes it only reported the minute component
2023-07-29Enable nullable for more filesBond_009
2023-06-26Migrate to trickplay table to EF. Rename vars/methods/members to have ↵Nick
consistent use of tile and thumbnail
2023-06-22Move SkiaSharp related code to Jellyfin.Drawing and IImageEncoderNick
2023-01-28Remove ability to add a played indicator to images (#9186)Cody Robibero
2022-12-05Replace == null with is nullBond_009
2022-06-29Merge pull request #7946 from cvium/svgCody Robibero
(cherry picked from commit 4ebe70cf6a12be4f4eae0b815a269a483ee238bb) Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-01-10Fix release buildCody Robibero
2022-01-10Suggestions from reviewCody Robibero
2022-01-04Clean upCody Robibero
2022-01-04Add missing xml docDavid Ullmer
2022-01-04Remove darkening filter from SplashscreenDavid Ullmer
Using the foregroundLayer parameter has the same effect
2022-01-04Remove splashscreen generation from IImageEncoder and add IImageGeneratorDavid Ullmer
2022-01-04Always use 1080p, add max parental ratingDavid Ullmer
2022-01-04Add splashscreen builderDavid Ullmer
2021-12-27Remove more warningsCody Robibero
2021-09-24Use new Enum.TryParse(ReadOnlySpan<char>) overloadBond_009
2021-09-24Target net6.0Bond_009
2021-07-24Fix warnings in MediaBrowser.Controller/DrawingRich Lander
2021-06-11Remove useless nullable directivesBond_009
2021-05-11Reduce warnings in MediaBrowser.Controller (#6006)Cody Robibero
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-07Enable nullable reference types for MediaBrowser.ControllerBond_009
2021-04-17Remove unused using directivesBaronGreenback
2021-04-11Apply suggestions from code reviewOdd Stråbø
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-04-11Remove GetSizeEstimate & GetEstimatedAspectRatioOdd Stråbø
from MediaBrowser.Controller.Drawing.ImageHelper Rework GetCacheFilePath to take requested with and height parameters in stead of using estimated output size
2021-04-11(mostly)Fix ResizeFillOdd Stråbø
2021-04-11Add Resize to fill box alternative to image endpointsOdd Stråbø
2021-04-10Merge pull request #4988 from Bond-009/cropBond-009
2021-03-06Enable nullable for Jellyfin.Data and remove unnecessary attributesPatrick Barron
2021-01-09Remove CropWhitespace functionBond_009
2020-08-31Enable nullable for interfaceDavid Ullmer
2020-08-31Merge branch 'master' into library-picturesDavid Ullmer
2020-08-22Enable TreatWarningsAsErrors for MediaBrowser.Controller in ReleaseBond_009
2020-08-21Use backdrop with library name as library thumbnailDavid
2020-06-20fix some documentation periodstelans
2020-06-16Merge pull request #3343 from telans/comment-stopsBond-009
Add full stop at end of comments (SA1629)
2020-06-16fix SA1513/SA1516telans
2020-06-16Add full stop at end of comments (SA1629)telans
2020-06-04Merge branch 'master' into userdb-efcorePatrick Barron
# Conflicts: # Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs # Emby.Server.Implementations/Library/UserManager.cs # Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs # Emby.Server.Implementations/Sorting/IsPlayedComparer.cs # Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs # Emby.Server.Implementations/TV/TVSeriesManager.cs # Jellyfin.Server.Implementations/Users/DefaultAuthenticationProvider.cs
2020-06-01Move logic of computing Blurhash components to ImageProcessorVasily
Also rename last few instances of GetImageHash to GetImageBlurHash for clarity
2020-05-26Apply suggestions from code reviewVasily
Co-authored-by: dkanada <dkanada@users.noreply.github.com>
2020-05-22Warnings cleanupPatrick Barron