|
@@ -13,9 +13,6 @@ const {
|
13
|
13
|
remoteVideo = isHuman,
|
14
|
14
|
remoteAudio = isHuman,
|
15
|
15
|
autoPlayVideo = config.testing.noAutoPlayVideo !== true,
|
16
|
|
-
|
17
|
|
- // Whether to create local audio even if muted
|
18
|
|
- autoCreateLocalAudio = config.testing.noAutoLocalAudio !== true
|
19
|
16
|
} = params;
|
20
|
17
|
|
21
|
18
|
let {
|
|
@@ -44,7 +41,6 @@ window.APP = {
|
44
|
41
|
return room && room.getConnectionState();
|
45
|
42
|
},
|
46
|
43
|
muteAudio(mute) {
|
47
|
|
- // Note: will have no effect if !autoCreateLocalAudio
|
48
|
44
|
localAudio = mute;
|
49
|
45
|
for (let i = 0; i < localTracks.length; i++) {
|
50
|
46
|
if (localTracks[i].getType() === 'audio') {
|
|
@@ -53,6 +49,11 @@ window.APP = {
|
53
|
49
|
}
|
54
|
50
|
else {
|
55
|
51
|
localTracks[i].unmute();
|
|
52
|
+
|
|
53
|
+ // if track was not added we need to add it to the peerconnection
|
|
54
|
+ if (!room.getLocalAudioTrack()) {
|
|
55
|
+ room.replaceTrack(null, localTracks[i]);
|
|
56
|
+ }
|
56
|
57
|
}
|
57
|
58
|
}
|
58
|
59
|
}
|
|
@@ -124,8 +125,12 @@ function onLocalTracks(tracks = []) {
|
124
|
125
|
if (localTracks[i].getType() === 'video') {
|
125
|
126
|
$('body').append(`<video ${autoPlayVideo ? 'autoplay="1" ' : ''}id='localVideo${i}' />`);
|
126
|
127
|
localTracks[i].attach($(`#localVideo${i}`)[0]);
|
|
128
|
+
|
|
129
|
+ room.addTrack(localTracks[i]);
|
127
|
130
|
} else {
|
128
|
|
- if (!localAudio) {
|
|
131
|
+ if (localAudio) {
|
|
132
|
+ room.addTrack(localTracks[i]);
|
|
133
|
+ } else {
|
129
|
134
|
localTracks[i].mute();
|
130
|
135
|
}
|
131
|
136
|
|
|
@@ -133,7 +138,6 @@ function onLocalTracks(tracks = []) {
|
133
|
138
|
`<audio autoplay='1' muted='true' id='localAudio${i}' />`);
|
134
|
139
|
localTracks[i].attach($(`#localAudio${i}`)[0]);
|
135
|
140
|
}
|
136
|
|
- room.addTrack(localTracks[i]);
|
137
|
141
|
}
|
138
|
142
|
}
|
139
|
143
|
|
|
@@ -233,9 +237,8 @@ function onConnectionSuccess() {
|
233
|
237
|
devices.push('video');
|
234
|
238
|
}
|
235
|
239
|
|
236
|
|
- if (localAudio || autoCreateLocalAudio) {
|
237
|
|
- devices.push('audio');
|
238
|
|
- }
|
|
240
|
+ // we always create audio local tracks
|
|
241
|
+ devices.push('audio');
|
239
|
242
|
|
240
|
243
|
if (devices.length > 0) {
|
241
|
244
|
JitsiMeetJS.createLocalTracks({ devices })
|