Browse Source

fix deco selection for watermark and filler (#1847)

pull/1848/head
Jason Dove 10 months 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/). @@ -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 playback selection of subtitles with unrecognized language codes
- 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
- 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< @@ -766,7 +766,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
{
Option<DecoTemplateItem> maybeItem = Optional(activeTemplate.DecoTemplate)
.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)
{
maybeTemplateDeco = Optional(item.Deco);

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

@ -47,6 +47,11 @@ public class BlockPlayoutFillerBuilder( @@ -47,6 +47,11 @@ public class BlockPlayoutFillerBuilder(
DateTimeOffset start = one.FinishOffset;
DateTimeOffset finish = two.StartOffset;
if (start == finish)
{
continue;
}
// find applicable deco
foreach (Deco deco in GetDecoFor(playout, start))
{
@ -163,7 +168,7 @@ public class BlockPlayoutFillerBuilder( @@ -163,7 +168,7 @@ public class BlockPlayoutFillerBuilder(
{
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)
{

Loading…
Cancel
Save