Browse Source

fix(load-test): Fixes unmuting loadtest client. (#8849)

* fix(load-test): Fixes unmuting loadtest client.

Fixes the case where audio track was not added due to jicofo muting clients.

* squash(load-test): Drop noAutoLocalAudio and change add track logic.

Trying to mimic jitsi-meet.

* squash(load-test): Fix adding video.
master
Дамян Минков 4 years ago
parent
commit
2a9b6a7d28
No account linked to committer's email address
1 changed files with 12 additions and 9 deletions
  1. 12
    9
      resources/load-test/load-test-participant.js

+ 12
- 9
resources/load-test/load-test-participant.js View File

13
     remoteVideo = isHuman,
13
     remoteVideo = isHuman,
14
     remoteAudio = isHuman,
14
     remoteAudio = isHuman,
15
     autoPlayVideo = config.testing.noAutoPlayVideo !== true,
15
     autoPlayVideo = config.testing.noAutoPlayVideo !== true,
16
-
17
-    // Whether to create local audio even if muted
18
-    autoCreateLocalAudio = config.testing.noAutoLocalAudio !== true
19
 } = params;
16
 } = params;
20
 
17
 
21
 let {
18
 let {
44
             return room && room.getConnectionState();
41
             return room && room.getConnectionState();
45
         },
42
         },
46
         muteAudio(mute) {
43
         muteAudio(mute) {
47
-            // Note: will have no effect if !autoCreateLocalAudio
48
             localAudio = mute;
44
             localAudio = mute;
49
             for (let i = 0; i < localTracks.length; i++) {
45
             for (let i = 0; i < localTracks.length; i++) {
50
                 if (localTracks[i].getType() === 'audio') {
46
                 if (localTracks[i].getType() === 'audio') {
53
                     }
49
                     }
54
                     else {
50
                     else {
55
                         localTracks[i].unmute();
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
         if (localTracks[i].getType() === 'video') {
125
         if (localTracks[i].getType() === 'video') {
125
             $('body').append(`<video ${autoPlayVideo ? 'autoplay="1" ' : ''}id='localVideo${i}' />`);
126
             $('body').append(`<video ${autoPlayVideo ? 'autoplay="1" ' : ''}id='localVideo${i}' />`);
126
             localTracks[i].attach($(`#localVideo${i}`)[0]);
127
             localTracks[i].attach($(`#localVideo${i}`)[0]);
128
+
129
+            room.addTrack(localTracks[i]);
127
         } else {
130
         } else {
128
-            if (!localAudio) {
131
+            if (localAudio) {
132
+                room.addTrack(localTracks[i]);
133
+            } else {
129
                 localTracks[i].mute();
134
                 localTracks[i].mute();
130
             }
135
             }
131
 
136
 
133
                 `<audio autoplay='1' muted='true' id='localAudio${i}' />`);
138
                 `<audio autoplay='1' muted='true' id='localAudio${i}' />`);
134
             localTracks[i].attach($(`#localAudio${i}`)[0]);
139
             localTracks[i].attach($(`#localAudio${i}`)[0]);
135
         }
140
         }
136
-        room.addTrack(localTracks[i]);
137
     }
141
     }
138
 }
142
 }
139
 
143
 
233
         devices.push('video');
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
     if (devices.length > 0) {
243
     if (devices.length > 0) {
241
         JitsiMeetJS.createLocalTracks({ devices })
244
         JitsiMeetJS.createLocalTracks({ devices })

Loading…
Cancel
Save