code: function AdaptivePlayer(params) {
    this.video = document.createElement('video');
    // Loop by default.
    if (params.loop === true) {
      this.video.setAttribute('loop', true);
    }
  
    if (params.volume !== undefined) {
      // XXX: .setAttribute('volume', params.volume) doesn't work for some reason.
      this.video.volume = params.volume;
    }
  
    // Not muted by default.
    if (params.muted === true) {
      this.video.muted = params.muted;
    }
  
    // For FF, make sure we enable preload.
    this.video.setAttribute('preload', 'auto');
    // Enable inline video playback in iOS 10+.
    this.video.setAttribute('playsinline', true);
    this.video.setAttribute('crossorigin', 'anonymous');
  }
docs: Supports regular video URLs (eg. mp4), as well as adaptive manifests like
  DASH (.mpd) and soon HLS (.m3u8).
  
  Events:
  load(video): When the video is loaded.
  error(message): If an error occurs.
  
  To play/pause/seek/etc, please use the underlying video element.