constructor(
      initSegmentUri, mdhdOffset, segmentTemplateUri, tfdtOffset,
      segmentDuration) {
    goog.asserts.assert(mdhdOffset >= 0, 'mdhd offset invalid');
    goog.asserts.assert(tfdtOffset >= 0, 'tfdt offset invalid');
    goog.asserts.assert(segmentDuration > 0, 'segment duration invalid');

    /** @private {string} */
    this.initSegmentUri_ = initSegmentUri;

    /** @private {number} */
    this.mdhdOffset_ = mdhdOffset;

    /** @private {string} */
    this.segmentTemplateUri_ = segmentTemplateUri;

    /** @private {number} */
    this.tfdtOffset_ = tfdtOffset;

    /** @private {number} */
    this.segmentDuration_ = segmentDuration;

    /** @private {ArrayBuffer} */
    this.initSegment_ = null;

    /** @private {ArrayBuffer} */
    this.segmentTemplate_ = null;

    /** @private {number} */
    this.timescale_ = 1;
  }
@param {string} initSegmentUri The URI of the initialization segment.
@param {number} mdhdOffset The offset of the initialization segment's
  mdhd box.
@param {string} segmentTemplateUri The URI of the segment to loop.
@param {number} tfdtOffset The offset of the segment's tfdt box.
@param {number} segmentDuration The duration of a single segment in
  seconds.