function makeReference(uri, startTime, endTime, compiledShaka) {
    /** @type {shakaNamespaceType} */
    const shaka = compiledShaka || window['shaka'];

    return new shaka.media.SegmentReference(
        startTime,
        endTime,
        /* getUris= */ () => [uri],
        /* startByte= */ 0,
        /* endByte= */ null,
        /* initSegmentReference= */ null,
        /* timestampOffset= */ 0,
        /* appendWindowStart= */ 0,
        /* appendWindowEnd= */ Infinity);
  }
Creates a real SegmentReference.  This is distinct from the fake ones used
in ManifestParser tests because it can be on the left-hand side of an
expect().  You can't expect jasmine.any(Number) to equal
jasmine.any(Number).  :-(

@param {string} uri
@param {number} startTime
@param {number} endTime
@param {shakaNamespaceType=} compiledShaka
@return {shaka.media.SegmentReference}