append (type, buffer, context) {
    if (!buffer || !buffer.byteLength) {
      return Promise.resolve()
    }

    if (!this._sourceBuffer[type]) return Promise.resolve()

    return this._enqueueOp(type, () => {
      if (!this.mediaSource || this.media.error) return
      this._logger.debug('MSE APPEND START', context)
      this._opst = nowTime()
      this._sourceBuffer[type]?.appendBuffer(buffer)
    }, OP_NAME.APPEND, context)

  }
@param { string } type
@param { BufferSource } buffer
@return { Promise }