diff --git a/CHANGELOG.md b/CHANGELOG.md index 56290f2a..bfb9489a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix channel playout mode `On Demand` for Block and YAML schedules - Fix QSV transitions when remote streaming from a media server - Fix green output when padding with VAAPI accel and i965 driver +- Fix watermark custom image validation +- Fix playback when using any watermarks that were saved with invalid state (no image) ### Changed - Allow multiple watermarks in playback troubleshooting diff --git a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs index fc2aa76a..aa0a9ada 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs @@ -190,6 +190,15 @@ public class FFmpegProcessService Option.None, false); case ChannelWatermarkImageSource.Custom: + // bad form validation makes this possible + if (string.IsNullOrWhiteSpace(watermark.Image)) + { + _logger.LogWarning( + "Watermark {Name} has custom image configured with no image; ignoring", + watermark.Name); + break; + } + string customPath = _imageCache.GetPathForImage( watermark.Image, ArtworkKind.Watermark, diff --git a/ErsatzTV/Pages/WatermarkEditor.razor b/ErsatzTV/Pages/WatermarkEditor.razor index 39bc018f..3704c685 100644 --- a/ErsatzTV/Pages/WatermarkEditor.razor +++ b/ErsatzTV/Pages/WatermarkEditor.razor @@ -72,6 +72,10 @@ } + else + { + + }
diff --git a/ErsatzTV/Validators/WatermarkEditViewModelValidator.cs b/ErsatzTV/Validators/WatermarkEditViewModelValidator.cs index c6326a89..9beaf475 100644 --- a/ErsatzTV/Validators/WatermarkEditViewModelValidator.cs +++ b/ErsatzTV/Validators/WatermarkEditViewModelValidator.cs @@ -12,7 +12,7 @@ public class WatermarkEditViewModelValidator : AbstractValidator x.Name).NotEmpty(); - RuleFor(x => x.Image) + RuleFor(x => x.Image.Path) .NotEmpty() .WithMessage("Watermark image is required!") .When(vm => vm.ImageSource == ChannelWatermarkImageSource.Custom);