Просмотр исходного кода

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 лет назад
Родитель
Сommit
2a9b6a7d28
Аккаунт пользователя с таким Email не найден
1 измененных файлов: 12 добавлений и 9 удалений
  1. 12
    9
      resources/load-test/load-test-participant.js

+ 12
- 9
resources/load-test/load-test-participant.js Просмотреть файл

@@ -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 })

Загрузка…
Отмена
Сохранить