QualityMonitoringSettings interface

Settings for the QualityMonitoring node. see NorskInspect.qualityMonitoring()

Signature:

export interface QualityMonitoringSettings extends ProcessorNodeSettings<QualityMonitoringNode>

Properties

Property Type Description

audio?

QualityMonitoringAudioSettings

(Optional) Audio monitoring configuration — omit to disable audio monitoring entirely.

onAnalysisDegraded?

(event: { reason: string; }) ⇒ void

(Optional) Analysis degraded to pure passthrough (e.g. the decode child died and is being respawned). MQA write should cease while degraded.

onAnalysisLagging?

(event: { lagMs: number; }) ⇒ void

(Optional) Analysis fell behind: frames are shipping at the latency budget without their own measurements (scores carry forward with analysisLagMs set).

onAnalysisLatency?

(event: { latencyMs: number; }) ⇒ void

(Optional) How long an NR-IQA inference took (submit → complete) — the analysis latency, distinct from the decode-pipeline hold (analysisLagMs). Reported once per completed inference.

onAnalysisRecovered?

() ⇒ void

(Optional) Analysis caught back up within the latency budget.

onAnalysisRestored?

() ⇒ void

(Optional) Analysis restored after a degrade.

onAnalysisRunning?

() ⇒ void

(Optional) The (off-loop) Spectrum/NR-IQA pipeline compilation has finished and analysis is now running against decoded frames. Until this fires, encoded frames pass straight through unanalysed, so wait for it before expecting measurements for a specific event. Raised once, on the compressed-input path.

onAudioMeasurement?

(measurements: AudioGraphMeasurement[]) ⇒ void

(Optional) Called once per analysis window with that window’s audio measurements — whole-stream detector readings (silence/clip/dc/…​) plus, when QualityMonitoringAudioSettings.meterDetect is enabled, per-channel meter levels (channel set). Decoded with the same machinery as AudioGraphSettings.onMeasurement. Use this for a per-channel VU meter.

onAudioReadings?

(readings: Record<string, Record<string, number>>) ⇒ void

(Optional) Convenience view of the same event: the window’s whole-stream readings folded by metric family ({ silence: { rms_db, silent }, clip: { clip_ratio }, … }), last-value-wins per source — the shape the detector-value box consumes directly. Per-channel meter levels are omitted here; use QualityMonitoringSettings.onAudioMeasurement for those.

onSamplingAdapted?

(event: { previousSampleEveryMs: number; sampleEveryMs: number; }) ⇒ void

(Optional) The adaptive NR-IQA sampler changed the effective sample interval (ms) to stay within the latency budget. 0 = sampling suspended (overloaded).

video?

QualityMonitoringVideoSettings

(Optional) Video monitoring configuration — omit to disable video monitoring entirely.