@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
1 lines • 775 B
JavaScript
export class FreezedVideoTrackDetector{trackMonitor;name="freezed-video-track-detector";constructor(e){this.trackMonitor=e}get _config(){return this.peerConnection.parent.config.videoFreezesDetector}get peerConnection(){return this.trackMonitor.getPeerConnection()}_lastFreezeCount=0;update(){const e=this.trackMonitor.getInboundRtp();if(!e||!e.freezeCount||this._config.disabled)return;const t=e.isFreezed,r=this.peerConnection.parent;e.isFreezed=0<Math.max(0,e.freezeCount-this._lastFreezeCount),this._lastFreezeCount=e.freezeCount,!t&&e.isFreezed?(r.emit("freezed-video-track",{clientMonitor:this.peerConnection.parent,trackMonitor:this.trackMonitor}),this._config.createIssue&&r.addIssue({type:"freezed-video-track",payload:{trackId:e.trackIdentifier}})):t&&e.isFreezed}}