diff --git a/src/controller/base-playlist-controller.ts b/src/controller/base-playlist-controller.ts index 38b09294267..01b9439c2eb 100644 --- a/src/controller/base-playlist-controller.ts +++ b/src/controller/base-playlist-controller.ts @@ -151,6 +151,8 @@ export default class BasePlaylistController implements NetworkComponentAPI { `live playlist ${index} ${ details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex + : details.updated + ? 'UPDATED' : 'MISSED' }`, ); diff --git a/src/loader/level-details.ts b/src/loader/level-details.ts index b128f385614..e2572eb9a66 100644 --- a/src/loader/level-details.ts +++ b/src/loader/level-details.ts @@ -72,7 +72,10 @@ export class LevelDetails { const partSnDiff = this.lastPartSn - previous.lastPartSn; const partIndexDiff = this.lastPartIndex - previous.lastPartIndex; this.updated = - this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff; + this.endSN !== previous.endSN || + !!partIndexDiff || + !!partSnDiff || + !this.live; this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || diff --git a/src/utils/level-helper.ts b/src/utils/level-helper.ts index ef0eed9948d..bcd5725b16d 100644 --- a/src/utils/level-helper.ts +++ b/src/utils/level-helper.ts @@ -194,6 +194,10 @@ export function mergeDetails( newFrag.initSegment = oldFrag.initSegment; currentInitSegment = oldFrag.initSegment; } + if (newFrag.endList) { + // Update frag body for fragment-tracker endListFragments + oldFrag.endList = true; + } }, );