fix guide mode filler in xmltv (#1000)

This commit is contained in:
Jason Dove
2022-10-16 13:23:26 -05:00
committed by GitHub
parent 485a874ab5
commit 9313d2c8eb
7 changed files with 10 additions and 6 deletions
+1
View File
@@ -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 reverse proxy SSL termination support by supporting `X-Forwarded-Proto` header
- Fix automatic playout reset scheduling - Fix automatic playout reset scheduling
- Playouts would reset every 30 minutes between midnight and the configured time, instead of only at the configured time - 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 ### Added
- Add music video credits template system - Add music video credits template system
+3 -1
View File
@@ -7,5 +7,7 @@ public enum FillerKind
MidRoll = 2, MidRoll = 2,
PostRoll = 3, PostRoll = 3,
Tail = 4, Tail = 4,
Fallback = 5 Fallback = 5,
GuideMode = 99
} }
+2 -1
View File
@@ -100,7 +100,8 @@ public class ChannelGuide
bool hasCustomTitle = !string.IsNullOrWhiteSpace(startItem.CustomTitle); bool hasCustomTitle = !string.IsNullOrWhiteSpace(startItem.CustomTitle);
int finishIndex = j; 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++; finishIndex++;
} }
@@ -76,7 +76,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase<ProgramSche
OutPoint = itemDuration, OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup, GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail ? FillerKind.GuideMode
: FillerKind.None, : FillerKind.None,
CustomTitle = scheduleItem.CustomTitle, CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId, WatermarkId = scheduleItem.WatermarkId,
@@ -57,7 +57,7 @@ public class PlayoutModeSchedulerFlood : PlayoutModeSchedulerBase<ProgramSchedul
OutPoint = itemDuration, OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup, GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail ? FillerKind.GuideMode
: FillerKind.None, : FillerKind.None,
CustomTitle = scheduleItem.CustomTitle, CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId, WatermarkId = scheduleItem.WatermarkId,
@@ -65,7 +65,7 @@ public class PlayoutModeSchedulerMultiple : PlayoutModeSchedulerBase<ProgramSche
OutPoint = itemDuration, OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup, GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail ? FillerKind.GuideMode
: FillerKind.None, : FillerKind.None,
CustomTitle = scheduleItem.CustomTitle, CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId, WatermarkId = scheduleItem.WatermarkId,
@@ -42,7 +42,7 @@ public class PlayoutModeSchedulerOne : PlayoutModeSchedulerBase<ProgramScheduleI
OutPoint = itemDuration, OutPoint = itemDuration,
GuideGroup = playoutBuilderState.NextGuideGroup, GuideGroup = playoutBuilderState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail ? FillerKind.GuideMode
: FillerKind.None, : FillerKind.None,
CustomTitle = scheduleItem.CustomTitle, CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId, WatermarkId = scheduleItem.WatermarkId,