diff --git a/lib/dash/segment_template.js b/lib/dash/segment_template.js index b50ae26225..a25b24e670 100644 --- a/lib/dash/segment_template.js +++ b/lib/dash/segment_template.js @@ -141,7 +141,8 @@ shaka.dash.SegmentTemplate = class { ); } else { const tsi = /** @type {!TimelineSegmentIndex} */(segmentIndex); - tsi.appendTemplateInfo(info, periodStart, periodEnd, shouldFit); + tsi.appendTemplateInfo( + info, periodStart, periodEnd, shouldFit, initSegmentReference); const availabilityStart = context.presentationTimeline.getSegmentAvailabilityStart(); @@ -167,7 +168,7 @@ shaka.dash.SegmentTemplate = class { if (segmentIndex instanceof shaka.dash.TimelineSegmentIndex && segmentIndex.isEmpty()) { segmentIndex.appendTemplateInfo(info, periodStart, - periodEnd, shouldFit); + periodEnd, shouldFit, initSegmentReference); } return Promise.resolve(segmentIndex); }, @@ -684,8 +685,11 @@ shaka.dash.TimelineSegmentIndex = class extends shaka.media.SegmentIndex { * @param {number} periodStart * @param {number} periodEnd * @param {boolean} shouldFit + * @param {shaka.media.InitSegmentReference} initSegmentReference */ - appendTemplateInfo(info, periodStart, periodEnd, shouldFit) { + appendTemplateInfo(info, periodStart, periodEnd, shouldFit, + initSegmentReference) { + this.initSegmentReference_ = initSegmentReference; if (!this.templateInfo_) { this.templateInfo_ = info; this.periodStart_ = periodStart; @@ -693,6 +697,8 @@ shaka.dash.TimelineSegmentIndex = class extends shaka.media.SegmentIndex { } else { const currentTimeline = this.templateInfo_.timeline; + this.templateInfo_.mediaTemplate = info.mediaTemplate; + // Append timeline const lastCurrentEntry = currentTimeline[currentTimeline.length - 1]; const newEntries = info.timeline.filter((entry) => {