From 0a6af6ef156d46a82d8ff41f9e7ef95f0fa23d50 Mon Sep 17 00:00:00 2001 From: mpnri Date: Mon, 1 Jan 2024 15:58:20 +0330 Subject: [PATCH 1/2] Fix stopping old track in setMediaStreamTrack --- src/room/track/LocalTrack.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/room/track/LocalTrack.ts b/src/room/track/LocalTrack.ts index 88aa3e2239..b9e907a3e2 100644 --- a/src/room/track/LocalTrack.ts +++ b/src/room/track/LocalTrack.ts @@ -112,10 +112,6 @@ export default abstract class LocalTrack extends Track { this._mediaStreamTrack.removeEventListener('ended', this.handleEnded); this._mediaStreamTrack.removeEventListener('mute', this.handleTrackMuteEvent); this._mediaStreamTrack.removeEventListener('unmute', this.handleTrackUnmuteEvent); - - if (!this.providedByUser && this._mediaStreamTrack !== newTrack) { - this._mediaStreamTrack.stop(); - } } this.mediaStream = new MediaStream([newTrack]); @@ -148,6 +144,11 @@ export default abstract class LocalTrack extends Track { if (this.sender) { await this.sender.replaceTrack(processedTrack ?? newTrack); } + // if `newTrack` is different from the existing track, stop the + // older track just before replacing it + if (!this.providedByUser && this._mediaStreamTrack !== newTrack) { + this._mediaStreamTrack.stop(); + } this._mediaStreamTrack = newTrack; if (newTrack) { // sync muted state with the enabled state of the newly provided track From 5d8d46bfd62d12e43e1d3a7a2ba482c298e08e00 Mon Sep 17 00:00:00 2001 From: lukasIO Date: Thu, 4 Jan 2024 12:33:42 +0100 Subject: [PATCH 2/2] Create big-turkeys-lay.md --- .changeset/big-turkeys-lay.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-turkeys-lay.md diff --git a/.changeset/big-turkeys-lay.md b/.changeset/big-turkeys-lay.md new file mode 100644 index 0000000000..8e64eda2f8 --- /dev/null +++ b/.changeset/big-turkeys-lay.md @@ -0,0 +1,5 @@ +--- +"livekit-client": patch +--- + +Fix stopping old track in `setMediaStreamTrack`