Gap filler logic (schedule engine + API) #8
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#2
What to build
Wire the
gap_fillerfield on Channel (already modeled asOption<MediaFilter>) into the system. When a channel has a gap_filler set and no ScheduledSlot covers the current time, the system should resolve interstitial content to fill the gap instead of returning no-signal (HTTP 204).The gap filler logic belongs in the schedule generation or the Playout Service's runtime loop. For now, implement it in the schedule engine: when generating a schedule, detect gaps between blocks and fill them with interstitial content matching the channel's gap_filler filter. Gap filler slots appear as regular ScheduledSlots.
Expose gap_filler in the channel create/update API and MCP tools.
Acceptance criteria
role: Interstitialmatching the gap_filler MediaFilterBlocked by