fix(job-worker): preserveOrTrackInfiniteTimings doesn't do the same thing generateCurrentInfinitePieceObjects does for enable.start values#1666
Conversation
…rateCurrentInfinitePieceObjects` does for `enable.start` values
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review infoConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
WalkthroughChanges adjust how infinite piece start times are calculated in the playout timeline system by introducing piece control object offset computations. Test expectations are updated to reflect the new offset calculations, with supporting documentation added to explain the offset handling logic. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Having received no feedback in 3 weeks, I'm merging this. |
About the Contributor
This pull request is posted on behalf of the NRK.
Type of Contribution
This is a:
Bug fix
Current Behavior
Infinite objects in multi-gateway mode can shift around start time-wise on takes or end up with unusual stopped timestamps. Automated tests for multi-gateway mode have invalid timestamp values.
New Behavior
Infinite Piece continuation objects have enable properties that match what's created when an Infinite object starts playing. Timeline objects don't shift on takes and timeline regenerations.
Testing
Affected areas
This PR affects the playout logic in general, specifically the Infinite Pieces logic.
Time Frame
This Bug Fix is critical for us, please review and merge it as soon as possible.
Other Information
Status
Overview
This PR fixes incorrect timing behavior for Infinite Pieces in multi-gateway mode. Previously, infinite objects could shift their start times on takes or acquire unusual stopped timestamps. The fix ensures that infinite Piece continuation objects have enable properties that match those created when an Infinite object starts playing, preventing timeline objects from shifting on takes or timeline regenerations.
Changes
Core Logic (
packages/job-worker/src/playout/timeline/multi-gateway.ts)getPieceControlObjectIdfrom corelibsetPlannedTimingsOnPieceInstance: when computinguserDurationEnd,endRelativeToPartis now correctly added topartPlannedStartinstead of being used as-ispreserveOrTrackInfiniteTimings:pieceEnableStartOffsetfrom the control object'senable.startpropertypieceEnableStartOffsetfrom the started playback time, ensuring consistency with how infinite pieces are initializedDocumentation (
packages/job-worker/src/playout/timeline/rundown.ts)Tests (
packages/job-worker/src/playout/__tests__/timeline.test.ts)