static parseSegmentListInfo_(context) {
    const SegmentList = shaka.dash.SegmentList;
    const MpdUtils = shaka.dash.MpdUtils;

    const mediaSegments = SegmentList.parseMediaSegments_(context);
    const segmentInfo =
        MpdUtils.parseSegmentInfo(context, SegmentList.fromInheritance_);

    let startNumber = segmentInfo.startNumber;
    if (startNumber == 0) {
      shaka.log.warning('SegmentList@startNumber must be > 0');
      startNumber = 1;
    }

    let startTime = 0;
    if (segmentInfo.segmentDuration) {
      // See DASH sec. 5.3.9.5.3
      // Don't use presentationTimeOffset for @duration.
      startTime = segmentInfo.segmentDuration * (startNumber - 1);
    } else if (segmentInfo.timeline && segmentInfo.timeline.length > 0) {
      // The presentationTimeOffset was considered in timeline creation.
      startTime = segmentInfo.timeline[0].start;
    }

    return {
      segmentDuration: segmentInfo.segmentDuration,
      startTime: startTime,
      startNumber: startNumber,
      scaledPresentationTimeOffset: segmentInfo.scaledPresentationTimeOffset,
      timescale: segmentInfo.timescale,
      timeline: segmentInfo.timeline,
      mediaSegments: mediaSegments,
    };
  }
Parses the SegmentList items to create an info object.

@param {shaka.dash.DashParser.Context} context
@return {shaka.dash.SegmentList.SegmentListInfo}
@private