change_(contentType, mimeType, transmuxer) {
    const ContentType = shaka.util.ManifestParserUtils.ContentType;
    if (contentType === ContentType.TEXT) {
      shaka.log.debug(`Change not supported for ${contentType}`);
      return;
    }
    const sourceBuffer = this.sourceBufferTypes_.get(contentType);
    shaka.log.debug(
        `Change Type: ${sourceBuffer} -> ${mimeType}`);
    if (shaka.media.Capabilities.isChangeTypeSupported()) {
      if (this.transmuxers_.has(contentType)) {
        this.transmuxers_.get(contentType).destroy();
        this.transmuxers_.delete(contentType);
      }
      if (transmuxer) {
        this.transmuxers_.set(contentType, transmuxer);
      }
      const type = this.addExtraFeaturesToMimeType_(mimeType);
      this.sourceBuffers_.get(contentType).changeType(type);
      this.sourceBufferTypes_.set(contentType, mimeType);
    } else {
      shaka.log.debug('Change Type not supported');
    }

    // Fake an 'updateend' event to resolve the operation.
    this.onUpdateEnd_(contentType);
  }
Prepare the SourceBuffer to parse a potentially new type or codec.

@param {shaka.util.ManifestParserUtils.ContentType} contentType
@param {string} mimeType
@param {?shaka.extern.Transmuxer} transmuxer
@private