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),
echoCancellation: parser.getFlagParam("echoCancellation", true),
noiseSuppressionEnabled: parser.getFlagParam("noiseSuppressionEnabled"),
noiseSuppressionLevel: (() => {
noiseSuppressionLevel: ((): number | undefined => {
const val = parseInt(parser.getParam("noiseSuppressionLevel") ?? "", 10);
return isNaN(val) ? undefined : val / 100;
})(),

View File

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

View File

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