From 9313d2c8ebe37438c7a379983323af7efd9374d1 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 16 Oct 2022 13:23:26 -0500 Subject: [PATCH] fix guide mode filler in xmltv (#1000) --- CHANGELOG.md | 1 + ErsatzTV.Core/Domain/Filler/FillerKind.cs | 4 +++- ErsatzTV.Core/Iptv/ChannelGuide.cs | 3 ++- ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs | 2 +- ErsatzTV.Core/Scheduling/PlayoutModeSchedulerFlood.cs | 2 +- ErsatzTV.Core/Scheduling/PlayoutModeSchedulerMultiple.cs | 2 +- ErsatzTV.Core/Scheduling/PlayoutModeSchedulerOne.cs | 2 +- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 490c9934..9d07ca62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix reverse proxy SSL termination support by supporting `X-Forwarded-Proto` header - Fix automatic playout reset scheduling - Playouts would reset every 30 minutes between midnight and the configured time, instead of only at the configured time +- XMLTV: properly group schedule items with `Custom Title` followed by item(s) with `Guide Mode` set to `Filler` ### Added - Add music video credits template system diff --git a/ErsatzTV.Core/Domain/Filler/FillerKind.cs b/ErsatzTV.Core/Domain/Filler/FillerKind.cs index 60d2b86f..bb90dd10 100644 --- a/ErsatzTV.Core/Domain/Filler/FillerKind.cs +++ b/ErsatzTV.Core/Domain/Filler/FillerKind.cs @@ -7,5 +7,7 @@ public enum FillerKind MidRoll = 2, PostRoll = 3, Tail = 4, - Fallback = 5 + Fallback = 5, + + GuideMode = 99 } diff --git a/ErsatzTV.Core/Iptv/ChannelGuide.cs b/ErsatzTV.Core/Iptv/ChannelGuide.cs index 5f5d19bc..516e1b70 100644 --- a/ErsatzTV.Core/Iptv/ChannelGuide.cs +++ b/ErsatzTV.Core/Iptv/ChannelGuide.cs @@ -100,7 +100,8 @@ public class ChannelGuide bool hasCustomTitle = !string.IsNullOrWhiteSpace(startItem.CustomTitle); int finishIndex = j; - while (finishIndex + 1 < sorted.Count && sorted[finishIndex + 1].GuideGroup == startItem.GuideGroup) + while (finishIndex + 1 < sorted.Count && (sorted[finishIndex + 1].GuideGroup == startItem.GuideGroup + || sorted[finishIndex + 1].FillerKind == FillerKind.GuideMode)) { finishIndex++; } diff --git a/ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs b/ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs index 60d7becc..928d5639 100644 --- a/ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs +++ b/ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs @@ -76,7 +76,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase