Browse Source

fix guide mode filler in xmltv (#1000)

pull/1002/head
Jason Dove 3 years ago committed by GitHub
parent
commit
9313d2c8eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 4
      ErsatzTV.Core/Domain/Filler/FillerKind.cs
  3. 3
      ErsatzTV.Core/Iptv/ChannelGuide.cs
  4. 2
      ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs
  5. 2
      ErsatzTV.Core/Scheduling/PlayoutModeSchedulerFlood.cs
  6. 2
      ErsatzTV.Core/Scheduling/PlayoutModeSchedulerMultiple.cs
  7. 2
      ErsatzTV.Core/Scheduling/PlayoutModeSchedulerOne.cs

1
CHANGELOG.md

@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -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

4
ErsatzTV.Core/Domain/Filler/FillerKind.cs

@ -7,5 +7,7 @@ public enum FillerKind @@ -7,5 +7,7 @@ public enum FillerKind
MidRoll = 2,
PostRoll = 3,
Tail = 4,
Fallback = 5
Fallback = 5,
GuideMode = 99
}

3
ErsatzTV.Core/Iptv/ChannelGuide.cs

@ -100,7 +100,8 @@ public class ChannelGuide @@ -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++;
}

2
ErsatzTV.Core/Scheduling/PlayoutModeSchedulerDuration.cs

@ -76,7 +76,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase<ProgramSche @@ -76,7 +76,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase<ProgramSche
OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail
? FillerKind.GuideMode
: FillerKind.None,
CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId,

2
ErsatzTV.Core/Scheduling/PlayoutModeSchedulerFlood.cs

@ -57,7 +57,7 @@ public class PlayoutModeSchedulerFlood : PlayoutModeSchedulerBase<ProgramSchedul @@ -57,7 +57,7 @@ public class PlayoutModeSchedulerFlood : PlayoutModeSchedulerBase<ProgramSchedul
OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail
? FillerKind.GuideMode
: FillerKind.None,
CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId,

2
ErsatzTV.Core/Scheduling/PlayoutModeSchedulerMultiple.cs

@ -65,7 +65,7 @@ public class PlayoutModeSchedulerMultiple : PlayoutModeSchedulerBase<ProgramSche @@ -65,7 +65,7 @@ public class PlayoutModeSchedulerMultiple : PlayoutModeSchedulerBase<ProgramSche
OutPoint = itemDuration,
GuideGroup = nextState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail
? FillerKind.GuideMode
: FillerKind.None,
CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId,

2
ErsatzTV.Core/Scheduling/PlayoutModeSchedulerOne.cs

@ -42,7 +42,7 @@ public class PlayoutModeSchedulerOne : PlayoutModeSchedulerBase<ProgramScheduleI @@ -42,7 +42,7 @@ public class PlayoutModeSchedulerOne : PlayoutModeSchedulerBase<ProgramScheduleI
OutPoint = itemDuration,
GuideGroup = playoutBuilderState.NextGuideGroup,
FillerKind = scheduleItem.GuideMode == GuideMode.Filler
? FillerKind.Tail
? FillerKind.GuideMode
: FillerKind.None,
CustomTitle = scheduleItem.CustomTitle,
WatermarkId = scheduleItem.WatermarkId,

Loading…
Cancel
Save