code: function RTCCodec(rTCCodecDict){
    if(!(this instanceof RTCCodec))
      return new RTCCodec(rTCCodecDict)
  
    // Check rTCCodecDict has the required fields
    checkType('int', 'rTCCodecDict.payloadType', rTCCodecDict.payloadType, {required: true});
    checkType('String', 'rTCCodecDict.codec', rTCCodecDict.codec, {required: true});
    checkType('int', 'rTCCodecDict.clockRate', rTCCodecDict.clockRate, {required: true});
    checkType('int', 'rTCCodecDict.channels', rTCCodecDict.channels, {required: true});
    checkType('String', 'rTCCodecDict.parameters', rTCCodecDict.parameters, {required: true});
  
    // Init parent class
    RTCCodec.super_.call(this, rTCCodecDict)
  
    // Set object properties
    Object.defineProperties(this, {
      payloadType: {
        writable: true,
        enumerable: true,
        value: rTCCodecDict.payloadType
      },
      codec: {
        writable: true,
        enumerable: true,
        value: rTCCodecDict.codec
      },
      clockRate: {
        writable: true,
        enumerable: true,
        value: rTCCodecDict.clockRate
      },
      channels: {
        writable: true,
        enumerable: true,
        value: rTCCodecDict.channels
      },
      parameters: {
        writable: true,
        enumerable: true,
        value: rTCCodecDict.parameters
      }
    })
  }
docs: RTC codec statistics
  
  @constructor module:core/complexTypes.RTCCodec
  
  @property {external:Integer} payloadType
  Payload type as used in RTP encoding.
  @property {external:String} codec
  e.g., video/vp8 or equivalent.
  @property {external:Integer} clockRate
  Represents the media sampling rate.
  @property {external:Integer} channels
  Use 2 for stereo, missing for most other cases.
  @property {external:String} parameters
  From the SDP description line.
  
  @extends module:core.RTCStats