static filterForAVVariants_(manifest) {
    const isAVVariant = (variant) => {
      // Audio-video variants may include both streams separately or may be
      // single multiplexed streams with multiple codecs.
      return (variant.video && variant.audio) ||
             (variant.video && variant.video.codecs.includes(','));
    };
    if (manifest.variants.some(isAVVariant)) {
      shaka.log.debug('Found variant with audio and video content, ' +
          'so filtering out audio-only content.');
      manifest.variants = manifest.variants.filter(isAVVariant);
    }
  }
Take a series of variants and ensure that they only contain one type of
variant. The different options are:
 1. Audio-Video
 2. Audio-Only
 3. Video-Only

A manifest can only contain a single type because once we initialize media
source to expect specific streams, it must always have content for those
streams. If we were to start with audio+video and switch to an audio-only
variant, media source would block waiting for video content.

@param {shaka.extern.Manifest} manifest
@private