Browse Source

default duration to make a new epg group per item; default duration to NOT use offline tail (#1834)

pull/1835/head
Jason Dove 1 year ago committed by GitHub
parent
commit
befaa037e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutDurationHandler.cs
  2. 2
      ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutPadToNextHandler.cs
  3. 2
      ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutPadUntilHandler.cs
  4. 6
      ErsatzTV.Core/Scheduling/YamlScheduling/Models/YamlPlayoutDurationInstruction.cs

12
ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutDurationHandler.cs

@ -50,6 +50,8 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP @@ -50,6 +50,8 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
targetTime,
duration.DiscardAttempts,
duration.Trim,
duration.OfflineTail,
duration.EpgGroupPerItem,
GetFillerKind(duration),
enumerator,
fallbackEnumerator);
@ -67,6 +69,8 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP @@ -67,6 +69,8 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
DateTimeOffset targetTime,
int discardAttempts,
bool trim,
bool offlineTail,
bool guideGroupPerItem,
FillerKind fillerKind,
IMediaCollectionEnumerator enumerator,
Option<IMediaCollectionEnumerator> fallbackEnumerator)
@ -77,6 +81,11 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP @@ -77,6 +81,11 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
{
foreach (MediaItem mediaItem in enumerator.Current)
{
if (guideGroupPerItem)
{
context.GuideGroup *= -1;
}
TimeSpan itemDuration = DurationForMediaItem(mediaItem);
var playoutItem = new PlayoutItem
@ -151,6 +160,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP @@ -151,6 +160,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
foreach (IMediaCollectionEnumerator fallback in fallbackEnumerator)
{
remainingToFill = TimeSpan.Zero;
context.CurrentTime = targetTime;
done = true;
// replace with fallback content
@ -187,6 +197,6 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP @@ -187,6 +197,6 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
}
}
return targetTime;
return offlineTail ? targetTime : context.CurrentTime;
}
}

2
ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutPadToNextHandler.cs

@ -58,6 +58,8 @@ public class YamlPlayoutPadToNextHandler(EnumeratorCache enumeratorCache) : Yaml @@ -58,6 +58,8 @@ public class YamlPlayoutPadToNextHandler(EnumeratorCache enumeratorCache) : Yaml
targetTime,
padToNext.DiscardAttempts,
padToNext.Trim,
offlineTail: true,
guideGroupPerItem: false,
GetFillerKind(padToNext),
enumerator,
fallbackEnumerator);

2
ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutPadUntilHandler.cs

@ -68,6 +68,8 @@ public class YamlPlayoutPadUntilHandler(EnumeratorCache enumeratorCache) : YamlP @@ -68,6 +68,8 @@ public class YamlPlayoutPadUntilHandler(EnumeratorCache enumeratorCache) : YamlP
targetTime,
padUntil.DiscardAttempts,
padUntil.Trim,
offlineTail: true,
guideGroupPerItem: false,
GetFillerKind(padUntil),
enumerator,
fallbackEnumerator);

6
ErsatzTV.Core/Scheduling/YamlScheduling/Models/YamlPlayoutDurationInstruction.cs

@ -8,6 +8,12 @@ public class YamlPlayoutDurationInstruction : YamlPlayoutInstruction @@ -8,6 +8,12 @@ public class YamlPlayoutDurationInstruction : YamlPlayoutInstruction
public bool Trim { get; set; }
[YamlMember(Alias = "offline_tail", ApplyNamingConventions = false)]
public bool OfflineTail { get; set; }
[YamlMember(Alias = "epg_group_per_item", ApplyNamingConventions = false)]
public bool EpgGroupPerItem { get; set; } = true;
public string Fallback { get; set; }
[YamlMember(Alias = "discard_attempts", ApplyNamingConventions = false)]

Loading…
Cancel
Save