diff --git a/src/detectors/VideoFreezesDetector.ts b/src/detectors/VideoFreezesDetector.ts index 9b4707e..2cac107 100644 --- a/src/detectors/VideoFreezesDetector.ts +++ b/src/detectors/VideoFreezesDetector.ts @@ -26,7 +26,7 @@ export type VideoFreezesDetectorEvents = { type InboundRtpStatsTrace = { ssrc: number, lastFreezeCount: number, - freezedStartedDuration: number, + freezedStartedDuration?: number, freezed: boolean, visited: boolean, } @@ -93,9 +93,9 @@ export class VideoFreezesDetector extends EventEmitter { ssrc, }) } else if (wasFreezed && !trace.freezed) { - const durationInS = Math.max(0, (stats.totalFreezesDuration ?? 0) - trace.freezedStartedDuration); + const durationInS = Math.max(0, (stats.totalFreezesDuration ?? 0) - (trace.freezedStartedDuration ?? 0)); - trace.freezedStartedDuration = 0; + trace.freezedStartedDuration = undefined; 0 < durationInS && this.emit('freezedVideoEnded', { peerConnectionId: inboundRtp.getPeerConnection()?.peerConnectionId,