code: function calculateVideoCacheHash (data, videoEl) {
    var i;
    var id = videoEl.getAttribute('id');
    var hash;
    var videoAttributes;
  
    if (id) { return id; }
  
    // Calculate hash using sorted video attributes.
    hash = '';
    videoAttributes = data || {};
    for (i = 0; i < videoEl.attributes.length; i++) {
      videoAttributes[videoEl.attributes[i].name] = videoEl.attributes[i].value;
    }
    Object.keys(videoAttributes).sort().forEach(function (name) {
      hash += name + ':' + videoAttributes[name] + ';';
    });
  
    return hash;
  }
docs: Calculates consistent hash from a video element using its attributes.
  If the video element has an ID, use that.
  Else build a hash that looks like `src:myvideo.mp4;height:200;width:400;`.
  
  @param data {object} - Texture data such as repeat.
  @param videoEl {Element} - Video element.
  @returns {string}