Skip to content

Commit d7a216d

Browse files
committed
fix: queuedSegmentId ignored when taking last part of the rundown
1 parent cc866ca commit d7a216d

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

packages/job-worker/src/playout/__tests__/selectNextPart.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,4 +417,11 @@ describe('selectNextPart', () => {
417417
expect(nextPart).toEqual({ index: 6, part: defaultParts[6], consumesQueuedSegmentId: false })
418418
}
419419
})
420+
421+
test('on last part, with queued segment', () => {
422+
// On the last part in the rundown, with a queuedSegment id set to earlier
423+
defaultPlaylist.queuedSegmentId = segment2
424+
const nextPart = selectNextPart2(defaultParts[8].toPartInstance(), defaultParts[8].toPartInstance())
425+
expect(nextPart).toEqual({ index: 4, part: defaultParts[4], consumesQueuedSegmentId: true })
426+
})
420427
})

packages/job-worker/src/playout/selectNextPart.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ export function selectNextPart(
176176

177177
if (rundownPlaylist.queuedSegmentId) {
178178
// No previous part, or segment has changed
179-
if (!previousPartInstance || (nextPart && previousPartInstance.segmentId !== nextPart.part.segmentId)) {
179+
if (!previousPartInstance || !nextPart || previousPartInstance.segmentId !== nextPart.part.segmentId) {
180180
// Find first in segment
181181
const newSegmentPart = findFirstPlayablePart(
182182
0,

0 commit comments

Comments
 (0)