constructor(implementation, stallThresholdSeconds, onStall) {
    /** @private {shaka.media.StallDetector.Implementation} */
    this.implementation_ = implementation;
    /** @private {boolean} */
    this.wasMakingProgress_ = implementation.shouldBeMakingProgress();
    /** @private {number} */
    this.value_ = implementation.getPresentationSeconds();
    /** @private {number} */
    this.lastUpdateSeconds_ = implementation.getWallSeconds();
    /** @private {boolean} */
    this.didJump_ = false;

    /**
     * The amount of time in seconds that we must have the same value of
     * |value_| before we declare it as a stall.
     *
     * @private {number}
     */
    this.stallThresholdSeconds_ = stallThresholdSeconds;

    /** @private {?function(number, number)} */
    this.onStall_ = onStall;
  }
@param {shaka.media.StallDetector.Implementation} implementation
@param {number} stallThresholdSeconds
@param {function(number, number)} onStall
    Callback that should be called when a stall is detected.