-
Couldn't load subscription status.
- Fork 55
feat: time of day pieces #1406
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release53
Are you sure you want to change the base?
feat: time of day pieces #1406
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release53 #1406 +/- ##
=============================================
+ Coverage 56.82% 56.96% +0.14%
=============================================
Files 402 404 +2
Lines 72968 73678 +710
Branches 4463 4490 +27
=============================================
+ Hits 41464 41974 +510
- Misses 31363 31554 +191
- Partials 141 150 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
1044d93 to
1c7a8e7
Compare
1c7a8e7 to
cee7180
Compare
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
This has been tested, and documentation has been added. |
| // If the piece is dynamically inserted, then its preroll should be factored into its start time, but not for any infinite continuations | ||
| const isStartOfAdlib = | ||
| !!p.dynamicallyInserted && !(p.infinite?.fromPreviousPart || p.infinite?.fromPreviousPlayhead) | ||
|
|
||
| if (isStartOfAdlib && pieceEnable.start !== 'now') { | ||
| return pieceEnable.start + (p.piece.prerollDuration ?? 0) | ||
| } else { | ||
| return pieceEnable.start | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a bit concerned about this block, as this was recently changed by NRK as it was causing timing issues #1441
I think this change will be the cause of the currently failing test Current part with preroll and adlib preroll
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really sure how we should include it, the thing I did here was to try and include that NRK change.
If you have an idea of how we should fix it, please let me know 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nrk change was to remove this block and replace it with simply return p.piece.enable.start. So I am curious if reapplying that introduces any issues for you, hopefully doing so will also fix the test that has started failing, as that was updated as part of that nrk change and is highlighting the breakage
About the Contributor
This pull request is posted on behalf of the BBC
Type of Contribution
This is a: Feature
New Behavior
This builds on top of #1384
Time of day pieces are a new concept, where a rundown is able to define some pieces that should play at an absolute timestamp, no matter what part is active at the time.
This could be utilised to show some graphic about what is next, or to ensure that the outro is triggered at the correct time (doing so out of vision) to ensure it will be at the right point when the show reaches the end time.
These pieces can be returned from the
getRundownblueprint method, and are very similar to pieces returned as part of a part. A few properties which are not relevant are removed, and theenableproperty must containisAbsolute: true. This change allows the system to not need much special handling for them, with many of the differences based off this different start rule.During playout, these pieces will be omitted from the timeline until ~30s before their start time. This duration is controlled by a new studio setting. Only once this point has been crossed will the pieces be considered for AB and lookahead. Sofie&playout-gateway coordinate regenerating the timeline at this 30s threshold, make sure to be running playout-gateway. (#1384 was written for this)
Other than that, these behave pretty much like normal
outOnRundownChangepieces. They show in the ui in the current part, and in future parts once playback of the piece has started. They can be stopped/cleared by other pieces with the same rules as normal, and can be updated through the syncIngestChanges flow as usual.Testing
Affected areas
Time Frame
Other Information
Status