function makeReference(uri, startTime, endTime, partialReferences = [],
      aesKey = null) {
    return new shaka.media.SegmentReference(
        startTime,
        endTime,
        /* getUris= */ () => [uri],
        /* startByte= */ 0,
        /* endByte= */ null,
        /* initSegmentReference= */ null,
        /* timestampOffset= */ 0,
        /* appendWindowStart= */ 0,
        /* appendWindowEnd= */ Infinity,
        /* partialReferences= */ partialReferences,
        /* tilesLayout= */ undefined,
        /* tileDuration= */ undefined,
        /* syncTime= */ undefined,
        /* status= */ undefined,
        /* aesKey= */ aesKey,
        /* allPartialSegments= */ partialReferences.length > 0);
  }
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 {!Array<!shaka.media.SegmentReference>=} partialReferences
@param {?shaka.extern.aesKey=} aesKey
@return {shaka.media.SegmentReference}