setTimestampOffset_(contentType, timestampOffset) {
    // Work around for
    // https://github.com/shaka-project/shaka-player/issues/1281:
    // TODO(https://bit.ly/2ttKiBU): follow up when this is fixed in Edge
    if (timestampOffset < 0) {
      // Try to prevent rounding errors in Edge from removing the first
      // keyframe.
      timestampOffset += 0.001;
    }


    let shouldChangeTimestampOffset = true;
    if (this.manifestType_ == shaka.media.ManifestParser.HLS) {
      // Avoid changing timestampOffset when the difference is less than 150 ms
      // from the end of the current buffer when using sequenceMode
      const bufferEnd = this.bufferEnd(contentType);
      if (!bufferEnd || Math.abs(bufferEnd - timestampOffset) > 0.15) {
        shouldChangeTimestampOffset = true;
      } else {
        shouldChangeTimestampOffset = false;
      }
    }
    if (shouldChangeTimestampOffset) {
      this.sourceBuffers_.get(contentType).timestampOffset = timestampOffset;
    }

    // Fake an 'updateend' event to resolve the operation.
    this.onUpdateEnd_(contentType);
  }
Set the SourceBuffer's timestamp offset.
@param {shaka.util.ManifestParserUtils.ContentType} contentType
@param {number} timestampOffset
@private