Skip to content

Commit 7ff2a49

Browse files
Fix race condition in PeerConnectionTransport.trackBitrates
1 parent 46da678 commit 7ff2a49

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"client-sdk-android": patch
3+
---
4+
5+
Fixed race condition in `PeerConnectionTransport.trackBitrates` by ensuring writes happen on the RTC thread.

livekit-android-sdk/src/main/java/io/livekit/android/room/PeerConnectionTransport.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,11 +325,15 @@ constructor(
325325
}
326326

327327
fun registerTrackBitrateInfo(cid: String, trackBitrateInfo: TrackBitrateInfo) {
328-
trackBitrates[TrackBitrateInfoKey.Cid(cid)] = trackBitrateInfo
328+
executeRTCIfNotClosed {
329+
trackBitrates[TrackBitrateInfoKey.Cid(cid)] = trackBitrateInfo
330+
}
329331
}
330332

331333
fun registerTrackBitrateInfo(transceiver: RtpTransceiver, trackBitrateInfo: TrackBitrateInfo) {
332-
trackBitrates[TrackBitrateInfoKey.Transceiver(transceiver)] = trackBitrateInfo
334+
executeRTCIfNotClosed {
335+
trackBitrates[TrackBitrateInfoKey.Transceiver(transceiver)] = trackBitrateInfo
336+
}
333337
}
334338

335339
suspend fun isConnected(): Boolean {

0 commit comments

Comments
 (0)