Skip to content

Commit e16141d

Browse files
Fix race condition in PeerConnectionTransport.trackBitrates
1 parent 2828664 commit e16141d

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed
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
@@ -318,11 +318,15 @@ constructor(
318318
}
319319

320320
fun registerTrackBitrateInfo(cid: String, trackBitrateInfo: TrackBitrateInfo) {
321-
trackBitrates[TrackBitrateInfoKey.Cid(cid)] = trackBitrateInfo
321+
executeRTCIfNotClosed {
322+
trackBitrates[TrackBitrateInfoKey.Cid(cid)] = trackBitrateInfo
323+
}
322324
}
323325

324326
fun registerTrackBitrateInfo(transceiver: RtpTransceiver, trackBitrateInfo: TrackBitrateInfo) {
325-
trackBitrates[TrackBitrateInfoKey.Transceiver(transceiver)] = trackBitrateInfo
327+
executeRTCIfNotClosed {
328+
trackBitrates[TrackBitrateInfoKey.Transceiver(transceiver)] = trackBitrateInfo
329+
}
326330
}
327331

328332
suspend fun isConnected(): Boolean {

0 commit comments

Comments
 (0)