Browse Source

fix deco selection for watermark and filler (#1847)

pull/1848/head
Jason Dove 1 year ago committed by GitHub
parent
commit
9e2f7b7815
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      CHANGELOG.md
  2. 2
      ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs
  3. 7
      ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs

2
CHANGELOG.md

@ -54,6 +54,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fix local libraries to detect external subtitle files with unrecognized language codes - Fix local libraries to detect external subtitle files with unrecognized language codes
- Fix playback selection of subtitles with unrecognized language codes - Fix playback selection of subtitles with unrecognized language codes
- Fix incorrectly removing block items that are hidden from EPG when deco filler is applied - Fix incorrectly removing block items that are hidden from EPG when deco filler is applied
- Fix deco selection when deco is scheduled until midnight
- Previously, this deco item would be ignored so watermark and filler would be missing
### Changed ### Changed
- Remove some unnecessary API calls related to media server scanning and paging - Remove some unnecessary API calls related to media server scanning and paging

2
ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs

@ -766,7 +766,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
{ {
Option<DecoTemplateItem> maybeItem = Optional(activeTemplate.DecoTemplate) Option<DecoTemplateItem> maybeItem = Optional(activeTemplate.DecoTemplate)
.SelectMany(dt => dt.Items) .SelectMany(dt => dt.Items)
.Find(i => i.StartTime <= now.TimeOfDay && i.EndTime > now.TimeOfDay); .Find(i => i.StartTime <= now.TimeOfDay && i.EndTime == TimeSpan.Zero || i.EndTime > now.TimeOfDay);
foreach (DecoTemplateItem item in maybeItem) foreach (DecoTemplateItem item in maybeItem)
{ {
maybeTemplateDeco = Optional(item.Deco); maybeTemplateDeco = Optional(item.Deco);

7
ErsatzTV.Core/Scheduling/BlockScheduling/BlockPlayoutFillerBuilder.cs

@ -47,6 +47,11 @@ public class BlockPlayoutFillerBuilder(
DateTimeOffset start = one.FinishOffset; DateTimeOffset start = one.FinishOffset;
DateTimeOffset finish = two.StartOffset; DateTimeOffset finish = two.StartOffset;
if (start == finish)
{
continue;
}
// find applicable deco // find applicable deco
foreach (Deco deco in GetDecoFor(playout, start)) foreach (Deco deco in GetDecoFor(playout, start))
{ {
@ -163,7 +168,7 @@ public class BlockPlayoutFillerBuilder(
{ {
foreach (DecoTemplateItem decoTemplateItem in template.DecoTemplate.Items) foreach (DecoTemplateItem decoTemplateItem in template.DecoTemplate.Items)
{ {
if (decoTemplateItem.StartTime <= start.TimeOfDay && decoTemplateItem.EndTime > start.TimeOfDay) if (decoTemplateItem.StartTime <= start.TimeOfDay && decoTemplateItem.EndTime == TimeSpan.Zero || decoTemplateItem.EndTime > start.TimeOfDay)
{ {
switch (decoTemplateItem.Deco.DefaultFillerMode) switch (decoTemplateItem.Deco.DefaultFillerMode)
{ {

Loading…
Cancel
Save