This commit is contained in:
fkwp
2026-03-26 16:26:53 +01:00
parent 239480e1f3
commit 234fafa1c3
4 changed files with 9 additions and 12 deletions

View File

@@ -518,7 +518,7 @@ export const computeUrlParams = (search = "", hash = ""): UrlParams => {
noiseSuppression: parser.getFlagParam("noiseSuppression", true), noiseSuppression: parser.getFlagParam("noiseSuppression", true),
echoCancellation: parser.getFlagParam("echoCancellation", true), echoCancellation: parser.getFlagParam("echoCancellation", true),
noiseSuppressionEnabled: parser.getFlagParam("noiseSuppressionEnabled"), noiseSuppressionEnabled: parser.getFlagParam("noiseSuppressionEnabled"),
noiseSuppressionLevel: (() => { noiseSuppressionLevel: ((): number | undefined => {
const val = parseInt(parser.getParam("noiseSuppressionLevel") ?? "", 10); const val = parseInt(parser.getParam("noiseSuppressionLevel") ?? "", 10);
return isNaN(val) ? undefined : val / 100; return isNaN(val) ? undefined : val / 100;
})(), })(),

View File

@@ -22,10 +22,7 @@ export class NoiseSuppressionTransformer {
* @param level - Noise reduction level (0-1) * @param level - Noise reduction level (0-1)
* @param enabled - Whether noise suppression is enabled * @param enabled - Whether noise suppression is enabled
*/ */
public async initialize( public initialize(level: number = 0.75, enabled: boolean = true): void {
level: number = 0.75,
enabled: boolean = true,
): Promise<void> {
if (this.initialized) { if (this.initialized) {
return; return;
} }
@@ -106,12 +103,12 @@ export class NoiseSuppressionTransformer {
} }
try { try {
this.processor.setEnabled(enabled); void this.processor.setEnabled(enabled);
logger.log( logger.log(
`[NoiseSuppressionTransformer] Noise suppression ${enabled ? "enabled" : "disabled"}`, `[NoiseSuppressionTransformer] Noise suppression ${enabled ? "enabled" : "disabled"}`,
); );
// Log processor state for debugging // Log processor state for debugging
const processorState = (this.processor as any).enabled; const processorState = (this.processor as { enabled?: boolean }).enabled;
logger.debug( logger.debug(
`[NoiseSuppressionTransformer] Processor internal state: enabled=${processorState}`, `[NoiseSuppressionTransformer] Processor internal state: enabled=${processorState}`,
); );
@@ -131,8 +128,8 @@ export class NoiseSuppressionTransformer {
try { try {
// Note: DeepFilterNoiseFilterProcessor may have a destroy method // Note: DeepFilterNoiseFilterProcessor may have a destroy method
// Call it if available // Call it if available
if (typeof (this.processor as any).destroy === "function") { if (typeof (this.processor as { destroy?: () => void }).destroy === "function") {
(this.processor as any).destroy(); (this.processor as { destroy: () => void }).destroy();
} }
} catch (error) { } catch (error) {
logger.error("[NoiseSuppressionTransformer] Cleanup failed:", error); logger.error("[NoiseSuppressionTransformer] Cleanup failed:", error);

View File

@@ -5,10 +5,10 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details. Please see LICENSE in the repository root for full details.
*/ */
import type { LocalAudioTrack } from "livekit-client";
import { combineLatest } from "rxjs"; import { combineLatest } from "rxjs";
import { logger } from "matrix-js-sdk/lib/logger"; import { logger } from "matrix-js-sdk/lib/logger";
import type { LocalAudioTrack } from "livekit-client";
import { import {
noiseSuppressionEnabled, noiseSuppressionEnabled,
noiseSuppressionLevel, noiseSuppressionLevel,

View File

@@ -32,7 +32,7 @@ export const useNoiseSuppressionTransformer =
// Initialize with current settings // Initialize with current settings
void transformerRef.current.initialize(levelValue, enabledValue); void transformerRef.current.initialize(levelValue, enabledValue);
} }
}, []); }, [enabledValue, levelValue]);
// Sync enabled state when setting changes // Sync enabled state when setting changes
useEffect(() => { useEffect(() => {
@@ -50,7 +50,7 @@ export const useNoiseSuppressionTransformer =
// Cleanup on unmount // Cleanup on unmount
useEffect(() => { useEffect(() => {
return () => { return (): void => {
if (transformerRef.current) { if (transformerRef.current) {
transformerRef.current.destroy(); transformerRef.current.destroy();
} }