From 9094f2f272c4656f15997c83faeacd1a9dce6781 Mon Sep 17 00:00:00 2001 From: lukasIO Date: Fri, 24 Apr 2026 11:21:44 +0200 Subject: [PATCH 1/3] Pass optional LocalTrack reference to processors --- src/room/track/LocalAudioTrack.ts | 1 + src/room/track/LocalTrack.ts | 1 + src/room/track/processor/types.ts | 2 ++ 3 files changed, 4 insertions(+) diff --git a/src/room/track/LocalAudioTrack.ts b/src/room/track/LocalAudioTrack.ts index 26eb7093be..29356a3072 100644 --- a/src/room/track/LocalAudioTrack.ts +++ b/src/room/track/LocalAudioTrack.ts @@ -185,6 +185,7 @@ export default class LocalAudioTrack extends LocalTrack { track: this._mediaStreamTrack, // RN won't have or use AudioContext audioContext: this.audioContext as AudioContext, + localTrack: this, }; this.log.debug(`setting up audio processor ${processor.name}`, this.logContext); diff --git a/src/room/track/LocalTrack.ts b/src/room/track/LocalTrack.ts index c69dfa09a5..acbf5e4e53 100644 --- a/src/room/track/LocalTrack.ts +++ b/src/room/track/LocalTrack.ts @@ -555,6 +555,7 @@ export default abstract class LocalTrack< track: this._mediaStreamTrack, element: processorElement, audioContext: this.audioContext, + localTrack: this, }; await processor.init(processorOptions); this.log.debug('processor initialized', this.logContext); diff --git a/src/room/track/processor/types.ts b/src/room/track/processor/types.ts index 1f0b277e20..304f538e10 100644 --- a/src/room/track/processor/types.ts +++ b/src/room/track/processor/types.ts @@ -1,4 +1,5 @@ import type Room from '../../Room'; +import type LocalTrack from '../LocalTrack'; import type { Track } from '../Track'; /** @@ -9,6 +10,7 @@ export type ProcessorOptions = { track: MediaStreamTrack; element?: HTMLMediaElement; audioContext?: AudioContext; + localTrack?: LocalTrack; }; export interface AudioProcessorOptions extends ProcessorOptions { From 4e8cfd6622c44538fb889bcdfae62b5a1d2f2331 Mon Sep 17 00:00:00 2001 From: lukasIO Date: Fri, 24 Apr 2026 11:22:25 +0200 Subject: [PATCH 2/3] Create curly-hornets-give.md --- .changeset/curly-hornets-give.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/curly-hornets-give.md diff --git a/.changeset/curly-hornets-give.md b/.changeset/curly-hornets-give.md new file mode 100644 index 0000000000..da423a3e93 --- /dev/null +++ b/.changeset/curly-hornets-give.md @@ -0,0 +1,5 @@ +--- +"livekit-client": patch +--- + +Pass optional LocalTrack reference to processors From 82a3fe49daac5b42ae3e7dfbdb48d76793679228 Mon Sep 17 00:00:00 2001 From: lukasIO Date: Fri, 24 Apr 2026 11:37:57 +0200 Subject: [PATCH 3/3] also pass on restart --- src/room/track/LocalTrack.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/room/track/LocalTrack.ts b/src/room/track/LocalTrack.ts index acbf5e4e53..275e9ea3d4 100644 --- a/src/room/track/LocalTrack.ts +++ b/src/room/track/LocalTrack.ts @@ -194,6 +194,7 @@ export default abstract class LocalTrack< track: newTrack, kind: this.kind, element: this.processorElement, + localTrack: this, }); processedTrack = this.processor.processedTrack; }