Issue: #6501 Wrong segmentNumShift was calculated in copyWithNewRepresentation

In DefaultDashChunkSource.copyWithNewRepresentation, it will handle the logic that
new MPD manifest file is updated and calculate a newSegmentNumShift for furthermore
segNum index calculation in getSegmentUrl, when a shorter window MPD updated and then
back to a longer window MPD, copyWithNewRepresentation will go into the overlap case
but the new index actually contains the old index..
This commit is contained in:
Cai Yuanqing 2019-10-02 13:25:26 +13:00
parent 258fff422a
commit c2d9960a6e

View File

@ -700,6 +700,8 @@ public class DefaultDashChunkSource implements DashChunkSource {
// There's a gap between the old index and the new one which means we've slipped behind the
// live window and can't proceed.
throw new BehindLiveWindowException();
} else if (oldIndex.getFirstSegmentNum() >= newIndexFirstSegmentNum) {
// The new index contains the old one, continue process the next segment
} else {
// The new index overlaps with the old one.
newSegmentNumShift +=