Patches to TimelineConverter.calcSegmentAvailabilityRange and DashHandler.updateRepresentation for live
Created by: waqarz
Patches to:
- TimelineConverter.calcSegmentAvailabilityRange: a. Availability start window is from Period start and not 0. b. Availability window end when time >= period end contains the last segment of the period, regardless how small it was. This case creates issue when the last segment of the period is smaller and time is at [period end , period end + delta] where delta is the difference of the duration of the last segment. c. It is quite confusing why d is calculate from representation.segments[representation.segments.length-1].duration, the method is called to update the length in itself in the first place, so why access its last index? I have left it untouched.
- DashHandler.updateRepresentation If playback is attempted before AST, we must wait till representation.segmentAvailabilityRange.start - representation.segmentAvailabilityRange.end
Limited testing done on some on-demand and live test vectors.