code: function ElementStats(elementStatsDict){
    if(!(this instanceof ElementStats))
      return new ElementStats(elementStatsDict)
  
    elementStatsDict = elementStatsDict || {}
  
    // Check elementStatsDict has the required fields
    // 
    // checkType('double', 'elementStatsDict.inputAudioLatency', elementStatsDict.inputAudioLatency, {required: true});
    //  
    // checkType('double', 'elementStatsDict.inputVideoLatency', elementStatsDict.inputVideoLatency, {required: true});
    //  
    // checkType('MediaLatencyStat', 'elementStatsDict.inputLatency', elementStatsDict.inputLatency, {isArray: true, required: true});
    //  
  
    // Init parent class
    ElementStats.super_.call(this, elementStatsDict)
  
    // Set object properties
    Object.defineProperties(this, {
      inputAudioLatency: {
        writable: true,
        enumerable: true,
        value: elementStatsDict.inputAudioLatency
      },
      inputVideoLatency: {
        writable: true,
        enumerable: true,
        value: elementStatsDict.inputVideoLatency
      },
      inputLatency: {
        writable: true,
        enumerable: true,
        value: elementStatsDict.inputLatency
      }
    })
  }
docs: A dictionary that represents the stats gathered in the media element.
  
  @constructor module:core/complexTypes.ElementStats
  
  @property {external:double} inputAudioLatency
  @deprecated
  Audio average measured on the sink pad in nano seconds
  @property {external:double} inputVideoLatency
  @deprecated
  Video average measured on the sink pad in nano seconds
  @property {module:core/complexTypes.MediaLatencyStat} inputLatency
  The average time that buffers take to get on the input pads of this element
  in nano seconds
  
  @extends module:core.Stats