@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
1 lines • 769 B
JavaScript
import{createLogger as t}from"../utils/logger";import{convertRTCStatsReport as e}from"./utils";const r=t("RtcPeerConnectionStatsCollector");export class RtcPeerConnectionStatsCollector{peerConnection;clientMonitor;lastStats=[];get browser(){return this.clientMonitor.browser}constructor(t,e){this.peerConnection=t,this.clientMonitor=e}async getStats(){try{this.lastStats=e(await this.peerConnection.getStats());try{await this._extend()}catch(t){r.error("Error extending stats",t)}return this.lastStats}catch(t){return r.error("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(){}}