Closed
Description
Using latest from master (f7fd3c9)
- Loading a live stream we have I can see that occasionally in
shaka.abr.SimpleAbrManager.prototype.segmentDownloaded
we get a segment with the sameendTimeMs
andstartTimeMs
, resulting in adurationMs
of 0. - This produces as bandwidth of
Infinity
inshaka.abr.EwmaBandwidthEstimator.prototype.sample
. - When
shaka.abr.Ewma.prototype.sample
is called with0
andInfinity
it produces an estimate ofNaN
because:value * (1 - adjAlpha) = Infinity * (1 - 1) = NaN
; this.estimate_
is set toNaN
and subsequently every sample after this returnNaN
Result:
ABR fails and the media gets stuck on the lowest tracks.
Expected:
Sampling should ignore bad values and move on.