new GapJumpingController(videonon-null, timelinenon-null, config, stallDetector, onEvent)
||shaka.media.StallDetector||The stall detector is used to keep the playhead moving while in a playable region. The gap jumping controller takes ownership over the stall detector. If no stall detection logic is desired, |null| may be provided.|
||function||Called when an event is raised to be sent to the application.|
The limit, in seconds, for the gap size that we will assume the browser will handle for us.
We can't trust |readyState| or 'waiting' events on all platforms. To make up for this, we poll the current time. If we think we are in a gap, jump out of it. See: https://bit.ly/2McuXxm and https://bit.ly/2K5xmJO
The stall detector tries to keep the playhead moving forward. It is managed by the gap-jumping controller to avoid conflicts. On some platforms, the stall detector is not wanted, so it may be null.
Called on a recurring timer to check for gaps in the media. This is also called in a 'waiting' event.
Called when a segment is appended by StreamingEngine, but not when a clear is pending. This means StreamingEngine will continue buffering forward from what is buffered. So we know about any gaps before the start.