From 7c07c5f522ce03981fc6cca98bfba0a8b76ce941 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sat, 17 Apr 2021 10:08:20 -0500 Subject: [PATCH] fix odd resolution padding; fix updating plex episode artwork (#173) * fix padding odd resolutions * fix updating plex episode artwork only as needed --- ErsatzTV.Core/FFmpeg/DisplaySizeExtensions.cs | 3 --- ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs | 1 - ErsatzTV.Core/Interfaces/Repositories/IMetadataRepository.cs | 1 + ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs | 1 + .../Data/Repositories/MetadataRepository.cs | 5 +++++ 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ErsatzTV.Core/FFmpeg/DisplaySizeExtensions.cs b/ErsatzTV.Core/FFmpeg/DisplaySizeExtensions.cs index 2330909c9..9bfc8a8b8 100644 --- a/ErsatzTV.Core/FFmpeg/DisplaySizeExtensions.cs +++ b/ErsatzTV.Core/FFmpeg/DisplaySizeExtensions.cs @@ -4,9 +4,6 @@ namespace ErsatzTV.Core.FFmpeg { public static class DisplaySizeExtensions { - internal static IDisplaySize PadToEven(this IDisplaySize size) => - new DisplaySize(size.Width + size.Width % 2, size.Height + size.Height % 2); - internal static bool IsSameSizeAs(this IDisplaySize @this, IDisplaySize that) => @this.Width == that.Width && @this.Height == that.Height; } diff --git a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs index d6cc2d8e2..711ce3ab1 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs @@ -60,7 +60,6 @@ namespace ErsatzTV.Core.FFmpeg builder = builder.WithDeinterlace(playbackSettings.Deinterlace) .WithScaling(scaledSize); - scaledSize = scaledSize.PadToEven(); if (NeedToPad(channel.FFmpegProfile.Resolution, scaledSize)) { builder = builder.WithBlackBars(channel.FFmpegProfile.Resolution); diff --git a/ErsatzTV.Core/Interfaces/Repositories/IMetadataRepository.cs b/ErsatzTV.Core/Interfaces/Repositories/IMetadataRepository.cs index f32c605ad..6871f2bbf 100644 --- a/ErsatzTV.Core/Interfaces/Repositories/IMetadataRepository.cs +++ b/ErsatzTV.Core/Interfaces/Repositories/IMetadataRepository.cs @@ -23,5 +23,6 @@ namespace ErsatzTV.Core.Interfaces.Repositories Task MarkAsUpdated(ShowMetadata metadata, DateTime dateUpdated); Task MarkAsUpdated(SeasonMetadata metadata, DateTime dateUpdated); Task MarkAsUpdated(MovieMetadata metadata, DateTime dateUpdated); + Task MarkAsUpdated(EpisodeMetadata metadata, DateTime dateUpdated); } } diff --git a/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs b/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs index 3ecbd17e3..aa9813ef6 100644 --- a/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs +++ b/ErsatzTV.Core/Plex/PlexTelevisionLibraryScanner.cs @@ -382,6 +382,7 @@ namespace ErsatzTV.Core.Plex if (incomingMetadata.DateUpdated > existingMetadata.DateUpdated) { await UpdateArtworkIfNeeded(existingMetadata, incomingMetadata, ArtworkKind.Thumbnail); + await _metadataRepository.MarkAsUpdated(existingMetadata, incomingMetadata.DateUpdated); } return existing; diff --git a/ErsatzTV.Infrastructure/Data/Repositories/MetadataRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/MetadataRepository.cs index 6e4803dda..0a830b2c0 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/MetadataRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/MetadataRepository.cs @@ -222,6 +222,11 @@ namespace ErsatzTV.Infrastructure.Data.Repositories _dbConnection.ExecuteAsync( @"UPDATE MovieMetadata SET DateUpdated = @DateUpdated WHERE Id = @Id", new { DateUpdated = dateUpdated, metadata.Id }).ToUnit(); + + public Task MarkAsUpdated(EpisodeMetadata metadata, DateTime dateUpdated) => + _dbConnection.ExecuteAsync( + @"UPDATE EpisodeMetadata SET DateUpdated = @DateUpdated WHERE Id = @Id", + new { DateUpdated = dateUpdated, metadata.Id }).ToUnit(); public Task RemoveGenre(Genre genre) => _dbConnection.ExecuteAsync("DELETE FROM Genre WHERE Id = @GenreId", new { GenreId = genre.Id })