@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
1 lines • 803 B
JavaScript
import{convertRTCStatsReport as t}from"./utils";const e="RtcPeerConnectionStatsCollector";export class RtcPeerConnectionStatsCollector{peerConnection;clientMonitor;logger;lastStats=[];get browser(){return this.clientMonitor.browser}constructor(t,e,r=e.logger){this.peerConnection=t,this.clientMonitor=e,this.logger=r}async getStats(){try{this.lastStats=t(await this.peerConnection.getStats(),this.logger);try{await this._extend()}catch(t){this.logger.error(`[${e}]:`,"Error extending stats",t)}return this.lastStats}catch(t){return this.logger.error(`[${e}]:`,"Error getting stats report",t),[]}}async _extend(){if(this.lastStats&&this.browser)switch(this.browser.name){case"chrome":case"edge":case"opera":case"safari":case"unknown":break;case"firefox":this._firefoxTrackStats()}}_firefoxTrackStats(){}}