fix guide mode filler in xmltv (#1000)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user