Use most recent part for start position

This commit is contained in:
Justin Wong 2021-03-28 23:59:00 +08:00
parent 2b0995635e
commit 1fe7fbc4cd

View file

@ -601,7 +601,18 @@ public final class HlsMediaSource extends BaseMediaSource
&& segments.get(segmentIndex).relativeStartTimeUs > minStartPositionUs) {
segmentIndex--;
}
return segments.get(segmentIndex).relativeStartTimeUs;
HlsMediaPlaylist.Segment segment = segments.get(segmentIndex);
List<HlsMediaPlaylist.Part> parts = segment.parts;
int partIndex = parts.size();
if (partIndex > 1) {
HlsMediaPlaylist.Part part;
do {
partIndex--;
part = parts.get(partIndex);
} while (part.relativeStartTimeUs > minStartPositionUs || !part.isIndependent);
return part.relativeStartTimeUs;
}
return segment.relativeStartTimeUs;
}
private void maybeUpdateMediaItem(long targetLiveOffsetUs) {