public long getSegmentStartTimeUs(long segmentNum) { return segmentIndex.getTimeUs(segmentNum - segmentNumShift); }
} else if (!seenEmptyIndex) { long firstSegmentNum = index.getFirstSegmentNum(); long adaptationSetAvailableStartTimeUs = index.getTimeUs(firstSegmentNum); availableStartTimeUs = Math.max(availableStartTimeUs, adaptationSetAvailableStartTimeUs); if (segmentCount != DashSegmentIndex.INDEX_UNBOUNDED) { long lastSegmentNum = firstSegmentNum + segmentCount - 1; long adaptationSetAvailableEndTimeUs = index.getTimeUs(lastSegmentNum) + index.getDurationUs(lastSegmentNum, durationUs); availableEndTimeUs = Math.min(availableEndTimeUs, adaptationSetAvailableEndTimeUs);
return windowDefaultStartPositionUs + snapIndex.getTimeUs(segmentNum) - defaultStartPositionInPeriodUs;
long lastSegmentNum = firstSegmentNum + segmentCount - 1; for (long j = firstSegmentNum; j <= lastSegmentNum; j++) { addSegment(periodStartUs + index.getTimeUs(j), baseUrl, index.getSegmentUrl(j), out);
oldIndex.getTimeUs(oldIndexLastSegmentNum) + oldIndex.getDurationUs(oldIndexLastSegmentNum, newPeriodDurationUs); long newIndexFirstSegmentNum = newIndex.getFirstSegmentNum(); long newIndexStartTimeUs = newIndex.getTimeUs(newIndexFirstSegmentNum); long newSegmentNumShift = segmentNumShift; if (oldIndexEndTimeUs == newIndexStartTimeUs) {