From 0a5d950ce31f4f2dda890957ab040d308c23831a Mon Sep 17 00:00:00 2001 From: Vladislav Orlov Date: Fri, 2 Aug 2024 16:00:16 +0300 Subject: [PATCH] style: LD-6968 do changes after review --- README.md | 4 ++-- src/WebRTCIssueDetector.ts | 4 ++-- ...VideoTrackDetector.ts => FrozenVideoTrackDetector.ts} | 9 +++++---- src/detectors/index.ts | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) rename src/detectors/{DeadVideoTrackDetector.ts => FrozenVideoTrackDetector.ts} (92%) diff --git a/README.md b/README.md index 9a8794f..6cba1f4 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ import WebRTCIssueDetector, { NetworkMediaSyncIssueDetector, AvailableOutgoingBitrateIssueDetector, UnknownVideoDecoderImplementationDetector, - DeadVideoTrackDetector, + FrozenVideoTrackDetector, } from 'webrtc-issue-detector'; const widWithDefaultConstructorArgs = new WebRTCIssueDetector(); @@ -75,7 +75,7 @@ const widWithCustomConstructorArgs = new WebRTCIssueDetector({ new NetworkMediaSyncIssueDetector(), new AvailableOutgoingBitrateIssueDetector(), new UnknownVideoDecoderImplementationDetector(), - new DeadVideoTrackDetector(), + new FrozenVideoTrackDetector(), ], getStatsInterval: 10_000, // set custom stats parsing interval onIssues: (payload: IssueDetectorResult) => { diff --git a/src/WebRTCIssueDetector.ts b/src/WebRTCIssueDetector.ts index 82ffc0c..93ce396 100644 --- a/src/WebRTCIssueDetector.ts +++ b/src/WebRTCIssueDetector.ts @@ -23,7 +23,7 @@ import { OutboundNetworkIssueDetector, QualityLimitationsIssueDetector, UnknownVideoDecoderImplementationDetector, - DeadVideoTrackDetector, + FrozenVideoTrackDetector, } from './detectors'; import { CompositeRTCStatsParser, RTCStatsParser } from './parser'; import createLogger from './utils/logger'; @@ -66,7 +66,7 @@ class WebRTCIssueDetector { new NetworkMediaSyncIssueDetector(), new AvailableOutgoingBitrateIssueDetector(), new UnknownVideoDecoderImplementationDetector(), - new DeadVideoTrackDetector(), + new FrozenVideoTrackDetector(), ]; this.networkScoresCalculator = params.networkScoresCalculator ?? new DefaultNetworkScoresCalculator(); diff --git a/src/detectors/DeadVideoTrackDetector.ts b/src/detectors/FrozenVideoTrackDetector.ts similarity index 92% rename from src/detectors/DeadVideoTrackDetector.ts rename to src/detectors/FrozenVideoTrackDetector.ts index 2368ab8..f04d532 100644 --- a/src/detectors/DeadVideoTrackDetector.ts +++ b/src/detectors/FrozenVideoTrackDetector.ts @@ -7,19 +7,19 @@ import { } from '../types'; import BaseIssueDetector from './BaseIssueDetector'; -interface DeadVideoTrackDetectorParams { +interface FrozenVideoTrackDetectorParams { timeoutMs?: number; framesDroppedThreshold?: number; } -class DeadVideoTrackDetector extends BaseIssueDetector { +class FrozenVideoTrackDetector extends BaseIssueDetector { readonly #lastMarkedAt = new Map(); readonly #timeoutMs: number; readonly #framesDroppedThreshold: number; - constructor(params: DeadVideoTrackDetectorParams = {}) { + constructor(params: FrozenVideoTrackDetectorParams = {}) { super(); this.#timeoutMs = params.timeoutMs ?? 10_000; this.#framesDroppedThreshold = params.framesDroppedThreshold ?? 0.5; @@ -69,6 +69,7 @@ class DeadVideoTrackDetector extends BaseIssueDetector { return; } + // We skip it when ratio is too low because it should be handled by FramesDroppedIssueDetector if (ratioFramesDropped >= this.#framesDroppedThreshold) { return; } @@ -132,4 +133,4 @@ class DeadVideoTrackDetector extends BaseIssueDetector { } } -export default DeadVideoTrackDetector; +export default FrozenVideoTrackDetector; diff --git a/src/detectors/index.ts b/src/detectors/index.ts index c03ac38..d797b85 100644 --- a/src/detectors/index.ts +++ b/src/detectors/index.ts @@ -7,4 +7,4 @@ export { default as NetworkMediaSyncIssueDetector } from './NetworkMediaSyncIssu export { default as OutboundNetworkIssueDetector } from './OutboundNetworkIssueDetector'; export { default as QualityLimitationsIssueDetector } from './QualityLimitationsIssueDetector'; export { default as UnknownVideoDecoderImplementationDetector } from './UnknownVideoDecoderImplementationDetector'; -export { default as DeadVideoTrackDetector } from './DeadVideoTrackDetector'; +export { default as FrozenVideoTrackDetector } from './FrozenVideoTrackDetector';