Skip to content
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

fix(Playout): infinite AdLib Items' timeline objects are not denowified (SOFIE-3665) #1382

Merged
merged 2 commits into from
Feb 6, 2025

Conversation

jstarpl
Copy link
Member

@jstarpl jstarpl commented Feb 5, 2025

About the Contributor

This pull request is posted on behalf of the NRK.

Type of Contribution

This is a:

Bug fix

Current Behavior

Some timeline objects are not denowified, because they don't match the expected geometry of the deNowifyCurrentPieces function. Because of this, starting Infinite Pieces via AdLibs is unreliable in terms of device state changes taking effect.

The issue can be discovered via a log message starting with:

Some timeline objects have unexpected now times!

New Behavior

deNowifyCurrentPieces collects timeline objects that can't be denowified by it and a second pass is done in deNowifyInfinites after updatePlannedTimingsForPieceInstances runs that will do a recursive search through the timelineObjs to calculate the appropriate enable.start value.

Testing

  • I have added one or more unit tests for this PR
  • I have updated the relevant unit tests
  • No unit test changes are needed for this PR

Affected areas

  • This PR affects the playout logic in general.

Time Frame

  • This Bug Fix is critical for us, please review and merge it as soon as possible.

Other Information

Co-authored-by: Johan Nyman [email protected]

Status

  • PR is ready to be reviewed.
  • The functionality has been tested by the author.
  • Relevant unit tests has been added / updated.
  • Relevant documentation (code comments, system documentation) has been added / updated.

@jstarpl jstarpl requested a review from a team as a code owner February 5, 2025 13:35
Copy link

codecov bot commented Feb 5, 2025

Codecov Report

Attention: Patch coverage is 13.15789% with 66 lines in your changes missing coverage. Please review.

Project coverage is 57.96%. Comparing base (13f0556) to head (5469a1a).
Report is 98 commits behind head on release51.

Files with missing lines Patch % Lines
...s/job-worker/src/playout/timeline/multi-gateway.ts 13.15% 66 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##           release51    #1382      +/-   ##
=============================================
- Coverage      58.09%   57.96%   -0.13%     
=============================================
  Files            525      525              
  Lines          85094    85292     +198     
  Branches        4599     4457     -142     
=============================================
+ Hits           49432    49439       +7     
- Misses         35631    35830     +199     
+ Partials          31       23       -8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jstarpl jstarpl changed the title fix(Playout): infinite AdLib Items' timeline objects are not denowified fix(Playout): infinite AdLib Items' timeline objects are not denowified (SOFIE-3665) Feb 5, 2025
@jstarpl jstarpl merged commit 608dd27 into release51 Feb 6, 2025
77 of 81 checks passed
@jstarpl jstarpl deleted the fix/sofie-3665/infinite-adLibs-not-denowified branch February 6, 2025 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants