} else { chunkIterators[i] = new RepresentationSegmentIterator( representationHolder, segmentNum, lastAvailableSegmentNum);
@Override public long getChunkStartTimeUs() { checkInBounds(); return representationHolder.getSegmentStartTimeUs(getCurrentIndex()); }
@Override public long getChunkEndTimeUs() { checkInBounds(); return representationHolder.getSegmentEndTimeUs(getCurrentIndex()); } }
@Override public DataSpec getDataSpec() { checkInBounds(); Representation representation = representationHolder.representation; RangedUri segmentUri = representationHolder.getSegmentUrl(getCurrentIndex()); Uri resolvedUri = segmentUri.resolveUri(representation.baseUrl); String cacheKey = representation.getCacheKey(); return new DataSpec(resolvedUri, segmentUri.start, segmentUri.length, cacheKey); }