shouldUseSrcEquals_(assetUri, mimeType) {
    const MimeUtils = shaka.util.MimeUtils;

    // If we are using a platform that does not support media source, we will
    // fall back to src= to handle all playback.
    const device = shaka.device.DeviceFactory.getDevice();
    if (!device.supportsMediaSource()) {
      return true;
    }

    if (mimeType) {
      // If we have a MIME type, check if the browser can play it natively.
      // This will cover both single files and native HLS.
      const mediaElement = this.video_ || shaka.util.Dom.anyMediaElement();
      const canPlayNatively = mediaElement.canPlayType(mimeType) != '';

      // If we can't play natively, then src= isn't an option.
      if (!canPlayNatively) {
        return false;
      }

      const canPlayMediaSource =
          shaka.media.ManifestParser.isSupported(mimeType);

      // If MediaSource isn't an option, the native option is our only chance.
      if (!canPlayMediaSource) {
        return true;
      }

      // If we land here, both are feasible.
      goog.asserts.assert(canPlayNatively && canPlayMediaSource,
          'Both native and MSE playback should be possible!');

      // We would prefer MediaSource in some cases, and src= in others.  For
      // example, Android has native HLS, but we'd prefer our own MediaSource
      // version there.
      if (MimeUtils.isHlsType(mimeType)) {
        // Native FairPlay HLS can be preferred on Apple platforms.
        const device = shaka.device.DeviceFactory.getDevice();
        if (device.getBrowserEngine() ===
            shaka.device.IDevice.BrowserEngine.WEBKIT &&
            (this.config_.drm.servers['com.apple.fps'] ||
            this.config_.drm.servers['com.apple.fps.1_0'])) {
          return this.config_.streaming.useNativeHlsForFairPlay;
        }

        // Native HLS can be preferred on any platform via this flag:
        return this.config_.streaming.preferNativeHls;
      }

      if (MimeUtils.isDashType(mimeType)) {
        // Native DASH can be preferred on any platform via this flag:
        return this.config_.streaming.preferNativeDash;
      }

      // In all other cases, we prefer MediaSource.
      return false;
    }

    // Unless there are good reasons to use src= (single-file playback or native
    // HLS), we prefer MediaSource.  So the final return value for choosing src=
    // is false.
    return false;
  }
Determines if we should use src equals, based on the the mimeType (if
known), the URI, and platform information.

@param {string} assetUri
@param {?string=} mimeType
@return {boolean}
   |true| if the content should be loaded with src=, |false| if the content
   should be loaded with MediaSource.
@private