changeType (type, mimeType) {
    const sb = this._sourceBuffer[type]
    if (!this.mediaSource || !sb || sb.mimeType === mimeType) return Promise.resolve()

    if (typeof sb.changeType !== 'function') {
      return Promise.reject(
        new StreamingError(
          ERR.MEDIA,
          ERR.SUB_TYPES.MSE_CHANGE_TYPE,
          new Error('changeType is not a function')
        )
      )
    }

    return this._enqueueOp(type, () => {
      try {
        sb.changeType(mimeType)
      } catch (e) {
        throw new StreamingError(ERR.MEDIA, ERR.SUB_TYPES.MSE_CHANGE_TYPE, e)
      }

      sb.mimeType = mimeType
      this._onSBUpdateEnd(type)
    }, 'changeType', {mimeType})
  }
@param { string } type
@param { string } mimeType
@return { Promise }