From e7817b1460fb6e650aed5b2414ba5e9fb8544469 Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Fri, 11 Oct 2024 14:33:30 -0500 Subject: [PATCH] fix deco default filler hardware acceleration (#1916) * fix hw accel for deco default filler * use custom filler kind for deco default filler --- CHANGELOG.md | 1 + .../Channels/Commands/RefreshChannelDataHandler.cs | 2 +- ErsatzTV.Core/Domain/Filler/FillerKind.cs | 4 +++- .../Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs | 5 ++++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab2866fe..e2896cf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix double loading of trash UI elements, and fix reloading of all UI elements after emptying trash - Fix destroying channel preview player when preview dialog is closed - This bug made it difficult to "stop" a channel after previewing it +- Fix bug where deco default filler would never use hardware acceleration ## [0.8.8-beta] - 2024-09-19 ### Added diff --git a/ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs b/ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs index 8c81de19..6c2ab65c 100644 --- a/ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs @@ -286,7 +286,7 @@ public class RefreshChannelDataHandler : IRequestHandler int finishIndex = j; while (finishIndex + 1 < sorted.Count && (sorted[finishIndex + 1].GuideGroup == startItem.GuideGroup || sorted[finishIndex + 1].FillerKind is FillerKind.GuideMode - or FillerKind.Tail or FillerKind.Fallback)) + or FillerKind.Tail or FillerKind.Fallback or FillerKind.DecoDefault)) { finishIndex++; } diff --git a/ErsatzTV.Core/Domain/Filler/FillerKind.cs b/ErsatzTV.Core/Domain/Filler/FillerKind.cs index 53dda31a..c4aabb5d 100644 --- a/ErsatzTV.Core/Domain/Filler/FillerKind.cs +++ b/ErsatzTV.Core/Domain/Filler/FillerKind.cs @@ -9,5 +9,7 @@ public enum FillerKind Tail = 4, Fallback = 5, - GuideMode = 99 + GuideMode = 99, + + DecoDefault = 100 } diff --git a/ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs b/ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs index f41ef0ee..9e7e7acc 100644 --- a/ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs +++ b/ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs @@ -107,7 +107,10 @@ public class BlockPlayoutFillerBuilder( Finish = current.UtcDateTime + itemDuration, InPoint = TimeSpan.Zero, OutPoint = itemDuration, - FillerKind = FillerKind.Fallback, + + // FillerKind.Fallback will loop and avoid hw accel, so don't use that + FillerKind = FillerKind.DecoDefault, + CollectionKey = JsonConvert.SerializeObject(collectionKey, JsonSettings), GuideStart = one.GuideStart, GuideFinish = one.GuideFinish,