@ -14,6 +14,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -14,6 +14,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- `channel_seconds` - the total number of seconds the frame is from when the channel started/activated
- `time_of_day_seconds` - the total number of seconds the frame is since midnight
### Fix
- Fix database operations that were slowing down playout builds
- YAML playouts in particular should build significantly faster
### Changed
- Allow multiple watermarks on a single playout item
@ -192,7 +192,7 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
@@ -192,7 +192,7 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
@ -67,54 +68,104 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@@ -67,54 +68,104 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@ -123,7 +174,7 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@@ -123,7 +174,7 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
{
_client.Notify(ex);
returnBaseError.New(
$"Timeout building playout for channel {playout.Channel.Name}; this may be a bug!");
$"Timeout building playout for channel {channelName}; this may be a bug!");
}
catch(Exceptionex)
{
@ -131,7 +182,7 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@@ -131,7 +182,7 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
_client.Notify(ex);
returnBaseError.New(
$"Unexpected error building playout for channel {playout.Channel.Name}: {ex.Message}");
$"Unexpected error building playout for channel {channelName}: {ex.Message}");
}
finally
{
@ -159,86 +210,149 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@@ -159,86 +210,149 @@ public class BuildPlayoutHandler : IRequestHandler<BuildPlayout, Either<BaseErro
@ -7,7 +7,7 @@ public record CreatePlayout(int ChannelId, ProgramSchedulePlayoutType ProgramSch
@@ -7,7 +7,7 @@ public record CreatePlayout(int ChannelId, ProgramSchedulePlayoutType ProgramSch
@ -741,6 +741,7 @@ public class PlayoutModeSchedulerBaseTests : SchedulerTestBase
@@ -741,6 +741,7 @@ public class PlayoutModeSchedulerBaseTests : SchedulerTestBase
@ -146,6 +146,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase<ProgramSche
@@ -146,6 +146,7 @@ public class PlayoutModeSchedulerDuration : PlayoutModeSchedulerBase<ProgramSche
@ -65,6 +65,7 @@ public class PlayoutModeSchedulerFlood : PlayoutModeSchedulerBase<ProgramSchedul
@@ -65,6 +65,7 @@ public class PlayoutModeSchedulerFlood : PlayoutModeSchedulerBase<ProgramSchedul
@ -89,6 +89,7 @@ public class PlayoutModeSchedulerMultiple : PlayoutModeSchedulerBase<ProgramSche
@@ -89,6 +89,7 @@ public class PlayoutModeSchedulerMultiple : PlayoutModeSchedulerBase<ProgramSche
@ -36,6 +36,7 @@ public class PlayoutModeSchedulerOne : PlayoutModeSchedulerBase<ProgramScheduleI
@@ -36,6 +36,7 @@ public class PlayoutModeSchedulerOne : PlayoutModeSchedulerBase<ProgramScheduleI
@ -46,6 +46,7 @@ public class YamlPlayoutAllHandler(EnumeratorCache enumeratorCache) : YamlPlayou
@@ -46,6 +46,7 @@ public class YamlPlayoutAllHandler(EnumeratorCache enumeratorCache) : YamlPlayou
@ -91,7 +92,7 @@ public class YamlPlayoutAllHandler(EnumeratorCache enumeratorCache) : YamlPlayou
@@ -91,7 +92,7 @@ public class YamlPlayoutAllHandler(EnumeratorCache enumeratorCache) : YamlPlayou
@ -38,7 +39,7 @@ public class YamlPlayoutApplyHistoryHandler(EnumeratorCache enumeratorCache)
@@ -38,7 +39,7 @@ public class YamlPlayoutApplyHistoryHandler(EnumeratorCache enumeratorCache)
@ -46,7 +47,7 @@ public class YamlPlayoutApplyHistoryHandler(EnumeratorCache enumeratorCache)
@@ -46,7 +47,7 @@ public class YamlPlayoutApplyHistoryHandler(EnumeratorCache enumeratorCache)
@ -180,7 +180,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@@ -180,7 +180,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@ -194,7 +194,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@@ -194,7 +194,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@ -205,7 +205,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@@ -205,7 +205,7 @@ public abstract class YamlPlayoutContentHandler(EnumeratorCache enumeratorCache)
@ -71,6 +71,7 @@ public class YamlPlayoutCountHandler(EnumeratorCache enumeratorCache) : YamlPlay
@@ -71,6 +71,7 @@ public class YamlPlayoutCountHandler(EnumeratorCache enumeratorCache) : YamlPlay
@ -116,7 +117,7 @@ public class YamlPlayoutCountHandler(EnumeratorCache enumeratorCache) : YamlPlay
@@ -116,7 +117,7 @@ public class YamlPlayoutCountHandler(EnumeratorCache enumeratorCache) : YamlPlay
@ -114,6 +114,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -114,6 +114,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@ -138,7 +139,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -138,7 +139,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@ -152,7 +153,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -152,7 +153,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
foreach(PlayoutHistoryhistoryinmaybeHistory)
{
context.Playout.PlayoutHistory.Add(history);
context.AddedHistory.Add(history);
}
remainingToFill-=itemDuration;
@ -172,7 +173,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -172,7 +173,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@ -186,7 +187,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -186,7 +187,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
foreach(PlayoutHistoryhistoryinmaybeHistory)
{
context.Playout.PlayoutHistory.Add(history);
context.AddedHistory.Add(history);
}
remainingToFill=TimeSpan.Zero;
@ -209,7 +210,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -209,7 +210,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@ -222,7 +223,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@@ -222,7 +223,7 @@ public class YamlPlayoutDurationHandler(EnumeratorCache enumeratorCache) : YamlP
@ -22,13 +22,13 @@ public class YamlPlayoutRepeatHandler : IYamlPlayoutHandler
@@ -22,13 +22,13 @@ public class YamlPlayoutRepeatHandler : IYamlPlayoutHandler
@ -24,6 +25,10 @@ public class YamlPlayoutContext(Playout playout, YamlPlayoutDefinition definitio
@@ -24,6 +25,10 @@ public class YamlPlayoutContext(Playout playout, YamlPlayoutDefinition definitio