@subiz/wsclient 4.0.10 → 4.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/webrtc.js +11 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subiz/wsclient",
3
- "version": "4.0.10",
3
+ "version": "4.0.11",
4
4
  "main": "realtime.js",
5
5
  "scripts": {
6
6
  "test": "node realtime.test.js"
package/webrtc.js CHANGED
@@ -222,7 +222,17 @@ function WebRTCConn(options) {
222
222
  readyToSendCandidateResolve()
223
223
  if (pendingStream && pendingStream != currentStream) {
224
224
  currentStream = pendingStream
225
- currentStream.getTracks().forEach((track) => peer.addTrack(track, currentStream))
225
+ currentStream.getTracks().forEach((track) => {
226
+ let replaced = false
227
+ peer.getSenders().forEach((sender) => {
228
+ if (!sender.track) return
229
+ if (sender.track.kind != track.kind) return
230
+ sender.replaceTrack(track)
231
+ replaced = true
232
+ })
233
+
234
+ if (!replaced) peer.addTrack(track, currentStream)
235
+ })
226
236
  }
227
237
  pendingStream = undefined
228
238
  return peer.createAnswer()