From 4a859d8c0240d80ca50ec72830e727a4c57dba3f Mon Sep 17 00:00:00 2001 From: davidliu Date: Tue, 20 Oct 2026 21:50:56 +0900 Subject: [PATCH] Fix dynacast never pausing video layers on React Native --- .changeset/rn-dynacast-encodings.md | 5 +++++ src/room/track/LocalVideoTrack.ts | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .changeset/rn-dynacast-encodings.md diff --git a/.changeset/rn-dynacast-encodings.md b/.changeset/rn-dynacast-encodings.md new file mode 100644 index 0000000000..da58e28f71 --- /dev/null +++ b/.changeset/rn-dynacast-encodings.md @@ -0,0 +1,5 @@ +--- +'livekit-client': patch +--- + +Fix dynacast never pausing video layers on React Native: save sender encodings before skipping the stats monitor diff --git a/src/room/track/LocalVideoTrack.ts b/src/room/track/LocalVideoTrack.ts index 65f72f2647..a28dd3cc01 100644 --- a/src/room/track/LocalVideoTrack.ts +++ b/src/room/track/LocalVideoTrack.ts @@ -109,9 +109,7 @@ export default class LocalVideoTrack extends LocalTrack { /* @internal */ startMonitor(signalClient: SignalClient) { this.signalClient = signalClient; - if (!isWeb()) { - return; - } + // save original encodings // TODO : merge simulcast tracks stats const params = this.sender?.getParameters(); @@ -119,6 +117,10 @@ export default class LocalVideoTrack extends LocalTrack { this.encodings = params.encodings; } + if (!isWeb()) { + return; + } + if (this.monitorInterval) { return; }