As data is comming in (in bursts), the buffering rate monitoring algorithm calculates an average rate that will be used to determine if we can play through the content without interruption (assuming relatively constant rate). To filter out variations in rate, the algorithm reacts more slowly (by design) and may take more time to reach the required rate threshold to unblock playback, even though the incoming rate is sufficient to sustain playback. If it takes too long, then a client using MSE may take corrective actions wich may disturb or even abort the playback.
See https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/928 for a detailed description of the root problem that led to this bug report.
Pull request: https://github.com/WebKit/WebKit/pull/4571
Committed 254781@main (68d7d604b06e): <https://commits.webkit.org/254781@main> Reviewed commits have been landed. Closing PR #4571 and removing active labels.
<rdar://problem/100315787>