twilio-video
Version:
Twilio Video JavaScript Library
60 lines (54 loc) • 1.28 kB
JavaScript
;
/**
* Quality telemetry events
* @internal
*/
class QualityEvents {
/**
* @param {import('../telemetry')} telemetry - The telemetry instance
*/
constructor(telemetry) {
this._telemetry = telemetry;
}
/**
* Emit when quality limitation reason changes for a track
* @param {string} trackSid - Track SID
* @param {('none'|'cpu'|'bandwidth'|'other')} qualityLimitationReason - Limitation reason
* @returns {void}
*/
limitationChanged(trackSid, qualityLimitationReason) {
this._telemetry.info({
group: 'quality',
name: 'quality-limitation-state-changed',
payload: {
trackSid,
qualityLimitationReason
}
});
}
/**
* Emit stats report
* @param {Record<string, any>} payload - Stats report payload
* @returns {void}
*/
statsReport(payload) {
this._telemetry.info({
group: 'quality',
name: 'stats-report',
payload
});
}
/**
* Emit active ICE candidate pair
* @param {Record<string, any>} payload - ICE candidate pair payload
* @returns {void}
*/
iceCandidatePair(payload) {
this._telemetry.info({
group: 'quality',
name: 'active-ice-candidate-pair',
payload
});
}
}
module.exports = QualityEvents;