@wazo/sdk 0.38.10 → 0.38.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.
- package/dist/wazo-sdk.js +2 -2
- package/esm/__tests__/web-rtc-client.test.js +10 -6
- package/esm/checker/Checker.js +10 -6
- package/esm/checker/checks/index.js +10 -6
- package/esm/checker/checks/webrtc-transport.js +10 -6
- package/esm/checker/checks/webrtc.js +10 -6
- package/esm/domain/Phone/WebRTCPhone.js +2 -2
- package/esm/index.js +12 -8
- package/esm/simple/Auth.js +12 -8
- package/esm/simple/Configuration.js +12 -8
- package/esm/simple/Phone.js +12 -8
- package/esm/simple/index.js +12 -8
- package/esm/simple/room/LocalParticipant.js +12 -8
- package/esm/simple/room/Participant.js +12 -8
- package/esm/simple/room/RemoteParticipant.js +12 -8
- package/esm/simple/room/Room.js +12 -8
- package/esm/simple/room/SipRoom.js +12 -8
- package/esm/simple/room/Stream.js +12 -8
- package/esm/simple/room/__tests__/Participant.test.js +12 -8
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +12 -8
- package/esm/simple/utils.js +12 -8
- package/esm/web-rtc-client.js +10 -6
- package/lib/__tests__/web-rtc-client.test.js +10 -6
- package/lib/checker/Checker.js +10 -6
- package/lib/checker/checks/index.js +10 -6
- package/lib/checker/checks/webrtc-transport.js +10 -6
- package/lib/checker/checks/webrtc.js +10 -6
- package/lib/domain/Phone/WebRTCPhone.js +2 -2
- package/lib/index.js +12 -8
- package/lib/simple/Auth.js +12 -8
- package/lib/simple/Configuration.js +12 -8
- package/lib/simple/Phone.js +12 -8
- package/lib/simple/index.js +12 -8
- package/lib/simple/room/LocalParticipant.js +12 -8
- package/lib/simple/room/Participant.js +12 -8
- package/lib/simple/room/RemoteParticipant.js +12 -8
- package/lib/simple/room/Room.js +12 -8
- package/lib/simple/room/SipRoom.js +12 -8
- package/lib/simple/room/Stream.js +12 -8
- package/lib/simple/room/__tests__/Participant.test.js +12 -8
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +12 -8
- package/lib/simple/utils.js +12 -8
- package/lib/web-rtc-client.js +10 -6
- package/package.json +1 -1
- package/src/domain/Phone/WebRTCPhone.js +2 -2
- package/src/web-rtc-client.js +10 -6
|
@@ -7832,9 +7832,11 @@ class WebRTCClient extends Emitter {
|
|
|
7832
7832
|
const videoTracks = localStream.getVideoTracks();
|
|
7833
7833
|
|
|
7834
7834
|
// Remove video senders
|
|
7835
|
-
pc.getSenders
|
|
7836
|
-
|
|
7837
|
-
|
|
7835
|
+
if (pc.getSenders) {
|
|
7836
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7837
|
+
videoSender.replaceTrack(null);
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7838
7840
|
|
|
7839
7841
|
videoTracks.forEach(videoTrack => {
|
|
7840
7842
|
videoTrack.enabled = false;
|
|
@@ -8067,7 +8069,8 @@ class WebRTCClient extends Emitter {
|
|
|
8067
8069
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
8068
8070
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
8069
8071
|
const audioTrack = stream.getAudioTracks()[0];
|
|
8070
|
-
const sender = pc && pc.getSenders
|
|
8072
|
+
const sender = pc && pc.getSenders
|
|
8073
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
8071
8074
|
|
|
8072
8075
|
if (sender) {
|
|
8073
8076
|
if (sender.track) {
|
|
@@ -8130,10 +8133,11 @@ class WebRTCClient extends Emitter {
|
|
|
8130
8133
|
// $FlowFixMe
|
|
8131
8134
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
8132
8135
|
const videoTrack = stream.getVideoTracks()[0];
|
|
8133
|
-
let sender = pc && pc.getSenders
|
|
8136
|
+
let sender = pc && pc.getSenders
|
|
8137
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
8134
8138
|
let wasTrackEnabled = false;
|
|
8135
8139
|
if (!sender) {
|
|
8136
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
8140
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
8137
8141
|
}
|
|
8138
8142
|
|
|
8139
8143
|
if (sender) {
|
|
@@ -9667,7 +9671,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9667
9671
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9668
9672
|
const sipSession = this.currentSipSession;
|
|
9669
9673
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9670
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9674
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9671
9675
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9672
9676
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9673
9677
|
const hadVideo = !!videoTrack;
|
|
@@ -9749,7 +9753,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9749
9753
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9750
9754
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9751
9755
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9752
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9756
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9753
9757
|
|
|
9754
9758
|
logger$7.info('WebRTC phone - on screensharing', {
|
|
9755
9759
|
hadVideo,
|
|
@@ -7832,9 +7832,11 @@ class WebRTCClient extends Emitter {
|
|
|
7832
7832
|
const videoTracks = localStream.getVideoTracks();
|
|
7833
7833
|
|
|
7834
7834
|
// Remove video senders
|
|
7835
|
-
pc.getSenders
|
|
7836
|
-
|
|
7837
|
-
|
|
7835
|
+
if (pc.getSenders) {
|
|
7836
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7837
|
+
videoSender.replaceTrack(null);
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7838
7840
|
|
|
7839
7841
|
videoTracks.forEach(videoTrack => {
|
|
7840
7842
|
videoTrack.enabled = false;
|
|
@@ -8067,7 +8069,8 @@ class WebRTCClient extends Emitter {
|
|
|
8067
8069
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
8068
8070
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
8069
8071
|
const audioTrack = stream.getAudioTracks()[0];
|
|
8070
|
-
const sender = pc && pc.getSenders
|
|
8072
|
+
const sender = pc && pc.getSenders
|
|
8073
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
8071
8074
|
|
|
8072
8075
|
if (sender) {
|
|
8073
8076
|
if (sender.track) {
|
|
@@ -8130,10 +8133,11 @@ class WebRTCClient extends Emitter {
|
|
|
8130
8133
|
// $FlowFixMe
|
|
8131
8134
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
8132
8135
|
const videoTrack = stream.getVideoTracks()[0];
|
|
8133
|
-
let sender = pc && pc.getSenders
|
|
8136
|
+
let sender = pc && pc.getSenders
|
|
8137
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
8134
8138
|
let wasTrackEnabled = false;
|
|
8135
8139
|
if (!sender) {
|
|
8136
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
8140
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
8137
8141
|
}
|
|
8138
8142
|
|
|
8139
8143
|
if (sender) {
|
|
@@ -9667,7 +9671,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9667
9671
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9668
9672
|
const sipSession = this.currentSipSession;
|
|
9669
9673
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9670
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9674
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9671
9675
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9672
9676
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9673
9677
|
const hadVideo = !!videoTrack;
|
|
@@ -9749,7 +9753,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9749
9753
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9750
9754
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9751
9755
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9752
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9756
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9753
9757
|
|
|
9754
9758
|
logger$7.info('WebRTC phone - on screensharing', {
|
|
9755
9759
|
hadVideo,
|
|
@@ -7832,9 +7832,11 @@ class WebRTCClient extends Emitter {
|
|
|
7832
7832
|
const videoTracks = localStream.getVideoTracks();
|
|
7833
7833
|
|
|
7834
7834
|
// Remove video senders
|
|
7835
|
-
pc.getSenders
|
|
7836
|
-
|
|
7837
|
-
|
|
7835
|
+
if (pc.getSenders) {
|
|
7836
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7837
|
+
videoSender.replaceTrack(null);
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7838
7840
|
|
|
7839
7841
|
videoTracks.forEach(videoTrack => {
|
|
7840
7842
|
videoTrack.enabled = false;
|
|
@@ -8067,7 +8069,8 @@ class WebRTCClient extends Emitter {
|
|
|
8067
8069
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
8068
8070
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
8069
8071
|
const audioTrack = stream.getAudioTracks()[0];
|
|
8070
|
-
const sender = pc && pc.getSenders
|
|
8072
|
+
const sender = pc && pc.getSenders
|
|
8073
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
8071
8074
|
|
|
8072
8075
|
if (sender) {
|
|
8073
8076
|
if (sender.track) {
|
|
@@ -8130,10 +8133,11 @@ class WebRTCClient extends Emitter {
|
|
|
8130
8133
|
// $FlowFixMe
|
|
8131
8134
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
8132
8135
|
const videoTrack = stream.getVideoTracks()[0];
|
|
8133
|
-
let sender = pc && pc.getSenders
|
|
8136
|
+
let sender = pc && pc.getSenders
|
|
8137
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
8134
8138
|
let wasTrackEnabled = false;
|
|
8135
8139
|
if (!sender) {
|
|
8136
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
8140
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
8137
8141
|
}
|
|
8138
8142
|
|
|
8139
8143
|
if (sender) {
|
|
@@ -9667,7 +9671,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9667
9671
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9668
9672
|
const sipSession = this.currentSipSession;
|
|
9669
9673
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9670
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9674
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9671
9675
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9672
9676
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9673
9677
|
const hadVideo = !!videoTrack;
|
|
@@ -9749,7 +9753,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9749
9753
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9750
9754
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9751
9755
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9752
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9756
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9753
9757
|
|
|
9754
9758
|
logger$7.info('WebRTC phone - on screensharing', {
|
|
9755
9759
|
hadVideo,
|
package/lib/simple/utils.js
CHANGED
|
@@ -7834,9 +7834,11 @@ class WebRTCClient extends Emitter {
|
|
|
7834
7834
|
const videoTracks = localStream.getVideoTracks();
|
|
7835
7835
|
|
|
7836
7836
|
// Remove video senders
|
|
7837
|
-
pc.getSenders
|
|
7838
|
-
|
|
7839
|
-
|
|
7837
|
+
if (pc.getSenders) {
|
|
7838
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7839
|
+
videoSender.replaceTrack(null);
|
|
7840
|
+
});
|
|
7841
|
+
}
|
|
7840
7842
|
|
|
7841
7843
|
videoTracks.forEach(videoTrack => {
|
|
7842
7844
|
videoTrack.enabled = false;
|
|
@@ -8069,7 +8071,8 @@ class WebRTCClient extends Emitter {
|
|
|
8069
8071
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
8070
8072
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
8071
8073
|
const audioTrack = stream.getAudioTracks()[0];
|
|
8072
|
-
const sender = pc && pc.getSenders
|
|
8074
|
+
const sender = pc && pc.getSenders
|
|
8075
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
8073
8076
|
|
|
8074
8077
|
if (sender) {
|
|
8075
8078
|
if (sender.track) {
|
|
@@ -8132,10 +8135,11 @@ class WebRTCClient extends Emitter {
|
|
|
8132
8135
|
// $FlowFixMe
|
|
8133
8136
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
8134
8137
|
const videoTrack = stream.getVideoTracks()[0];
|
|
8135
|
-
let sender = pc && pc.getSenders
|
|
8138
|
+
let sender = pc && pc.getSenders
|
|
8139
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
8136
8140
|
let wasTrackEnabled = false;
|
|
8137
8141
|
if (!sender) {
|
|
8138
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
8142
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
8139
8143
|
}
|
|
8140
8144
|
|
|
8141
8145
|
if (sender) {
|
|
@@ -9669,7 +9673,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9669
9673
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9670
9674
|
const sipSession = this.currentSipSession;
|
|
9671
9675
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9672
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9676
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9673
9677
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9674
9678
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9675
9679
|
const hadVideo = !!videoTrack;
|
|
@@ -9751,7 +9755,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9751
9755
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9752
9756
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9753
9757
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9754
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9758
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9755
9759
|
|
|
9756
9760
|
logger$7.info('WebRTC phone - on screensharing', {
|
|
9757
9761
|
hadVideo,
|
package/lib/web-rtc-client.js
CHANGED
|
@@ -6423,9 +6423,11 @@ class WebRTCClient extends Emitter {
|
|
|
6423
6423
|
const videoTracks = localStream.getVideoTracks();
|
|
6424
6424
|
|
|
6425
6425
|
// Remove video senders
|
|
6426
|
-
pc.getSenders
|
|
6427
|
-
|
|
6428
|
-
|
|
6426
|
+
if (pc.getSenders) {
|
|
6427
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
6428
|
+
videoSender.replaceTrack(null);
|
|
6429
|
+
});
|
|
6430
|
+
}
|
|
6429
6431
|
|
|
6430
6432
|
videoTracks.forEach(videoTrack => {
|
|
6431
6433
|
videoTrack.enabled = false;
|
|
@@ -6658,7 +6660,8 @@ class WebRTCClient extends Emitter {
|
|
|
6658
6660
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
6659
6661
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
6660
6662
|
const audioTrack = stream.getAudioTracks()[0];
|
|
6661
|
-
const sender = pc && pc.getSenders
|
|
6663
|
+
const sender = pc && pc.getSenders
|
|
6664
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
6662
6665
|
|
|
6663
6666
|
if (sender) {
|
|
6664
6667
|
if (sender.track) {
|
|
@@ -6721,10 +6724,11 @@ class WebRTCClient extends Emitter {
|
|
|
6721
6724
|
// $FlowFixMe
|
|
6722
6725
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
6723
6726
|
const videoTrack = stream.getVideoTracks()[0];
|
|
6724
|
-
let sender = pc && pc.getSenders
|
|
6727
|
+
let sender = pc && pc.getSenders
|
|
6728
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
6725
6729
|
let wasTrackEnabled = false;
|
|
6726
6730
|
if (!sender) {
|
|
6727
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
6731
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
6728
6732
|
}
|
|
6729
6733
|
|
|
6730
6734
|
if (sender) {
|
package/package.json
CHANGED
|
@@ -493,7 +493,7 @@ export default class WebRTCPhone extends Emitter implements Phone {
|
|
|
493
493
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
494
494
|
const sipSession = this.currentSipSession;
|
|
495
495
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
496
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
496
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
497
497
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
498
498
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
499
499
|
const hadVideo = !!videoTrack;
|
|
@@ -575,7 +575,7 @@ export default class WebRTCPhone extends Emitter implements Phone {
|
|
|
575
575
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
576
576
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
577
577
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
578
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
578
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
579
579
|
|
|
580
580
|
logger.info('WebRTC phone - on screensharing', {
|
|
581
581
|
hadVideo,
|
package/src/web-rtc-client.js
CHANGED
|
@@ -877,9 +877,11 @@ export default class WebRTCClient extends Emitter {
|
|
|
877
877
|
const videoTracks = localStream.getVideoTracks();
|
|
878
878
|
|
|
879
879
|
// Remove video senders
|
|
880
|
-
pc.getSenders
|
|
881
|
-
|
|
882
|
-
|
|
880
|
+
if (pc.getSenders) {
|
|
881
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
882
|
+
videoSender.replaceTrack(null);
|
|
883
|
+
});
|
|
884
|
+
}
|
|
883
885
|
|
|
884
886
|
videoTracks.forEach(videoTrack => {
|
|
885
887
|
videoTrack.enabled = false;
|
|
@@ -1112,7 +1114,8 @@ export default class WebRTCClient extends Emitter {
|
|
|
1112
1114
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
1113
1115
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
1114
1116
|
const audioTrack = stream.getAudioTracks()[0];
|
|
1115
|
-
const sender = pc && pc.getSenders
|
|
1117
|
+
const sender = pc && pc.getSenders
|
|
1118
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
1116
1119
|
|
|
1117
1120
|
if (sender) {
|
|
1118
1121
|
if (sender.track) {
|
|
@@ -1175,10 +1178,11 @@ export default class WebRTCClient extends Emitter {
|
|
|
1175
1178
|
// $FlowFixMe
|
|
1176
1179
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
1177
1180
|
const videoTrack = stream.getVideoTracks()[0];
|
|
1178
|
-
let sender = pc && pc.getSenders
|
|
1181
|
+
let sender = pc && pc.getSenders
|
|
1182
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
1179
1183
|
let wasTrackEnabled = false;
|
|
1180
1184
|
if (!sender) {
|
|
1181
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
1185
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
1182
1186
|
}
|
|
1183
1187
|
|
|
1184
1188
|
if (sender) {
|