Commit c2d9960a by Cai Yuanqing

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..
parent 258fff42
...@@ -700,6 +700,8 @@ public class DefaultDashChunkSource implements DashChunkSource { ...@@ -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 // 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. // live window and can't proceed.
throw new BehindLiveWindowException(); throw new BehindLiveWindowException();
} else if (oldIndex.getFirstSegmentNum() >= newIndexFirstSegmentNum) {
// The new index contains the old one, continue process the next segment
} else { } else {
// The new index overlaps with the old one. // The new index overlaps with the old one.
newSegmentNumShift += newSegmentNumShift +=
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment