@webex/plugin-meetings 3.0.0-beta.13 → 3.0.0-beta.15
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/common/browser-detection.js +1 -0
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js.map +1 -1
- package/dist/common/errors/captcha-error.js +5 -5
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +5 -5
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +6 -6
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +5 -5
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -5
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +5 -5
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +4 -4
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection.js +5 -5
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +5 -5
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +11 -8
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +2 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +2 -1
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js.map +1 -1
- package/dist/media/internal-media-core-wrapper.js.map +1 -1
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -1
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.js +1 -1
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +118 -89
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +1 -1
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +25 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +8 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +5 -5
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +2 -2
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +48 -48
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +1 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +251 -250
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +2 -2
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +14 -14
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +31 -31
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +43 -43
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +23 -20
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/multistreamMedia.js +2 -1
- package/dist/multistream/multistreamMedia.js.map +1 -1
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +2 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +8 -8
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +7 -7
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +3 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +4 -4
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +5 -5
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +4 -1
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +7 -6
- package/package.json +18 -18
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +11 -11
- package/src/constants.ts +1 -1
- package/src/index.js +1 -1
- package/src/locus-info/controlsUtils.ts +34 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +25 -34
- package/src/locus-info/infoUtils.ts +12 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +45 -68
- package/src/locus-info/selfUtils.ts +106 -57
- package/src/media/index.ts +123 -135
- package/src/media/internal-media-core-wrapper.ts +2 -2
- package/src/media/properties.ts +30 -20
- package/src/media/util.ts +1 -1
- package/src/mediaQualityMetrics/config.ts +46 -46
- package/src/meeting/effectsState.ts +35 -35
- package/src/meeting/in-meeting-actions.ts +7 -3
- package/src/meeting/index.ts +1576 -1291
- package/src/meeting/muteState.ts +62 -31
- package/src/meeting/request.ts +174 -113
- package/src/meeting/request.type.ts +11 -0
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +101 -70
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +106 -108
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +59 -53
- package/src/meetings/collection.ts +1 -1
- package/src/meetings/index.ts +512 -440
- package/src/meetings/request.ts +26 -24
- package/src/meetings/util.ts +29 -29
- package/src/member/index.ts +55 -49
- package/src/member/util.ts +26 -13
- package/src/members/collection.ts +0 -1
- package/src/members/index.ts +182 -126
- package/src/members/request.ts +46 -14
- package/src/members/util.ts +44 -42
- package/src/metrics/config.ts +254 -81
- package/src/metrics/constants.ts +0 -2
- package/src/metrics/index.ts +84 -71
- package/src/multistream/multistreamMedia.ts +1 -0
- package/src/multistream/receiveSlot.ts +1 -0
- package/src/multistream/receiveSlotManager.ts +1 -0
- package/src/multistream/remoteMedia.ts +1 -1
- package/src/multistream/remoteMediaGroup.ts +2 -1
- package/src/multistream/remoteMediaManager.ts +3 -0
- package/src/networkQualityMonitor/index.ts +20 -23
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +61 -59
- package/src/reachability/request.ts +36 -32
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +4 -3
- package/src/reconnection-manager/index.ts +139 -84
- package/src/roap/index.ts +46 -38
- package/src/roap/request.ts +44 -31
- package/src/roap/turnDiscovery.ts +59 -30
- package/src/statsAnalyzer/global.ts +30 -33
- package/src/statsAnalyzer/index.ts +432 -175
- package/src/statsAnalyzer/mqaUtil.ts +178 -72
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/journey.js +663 -462
- package/test/integration/spec/space-meeting.js +318 -203
- package/test/integration/spec/transcription.js +6 -7
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +5 -5
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +1 -2
- package/test/unit/spec/locus-info/infoUtils.js +26 -33
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +72 -103
- package/test/unit/spec/locus-info/selfUtils.js +21 -12
- package/test/unit/spec/meeting/effectsState.js +36 -46
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
- package/test/unit/spec/meeting/index.js +1342 -684
- package/test/unit/spec/meeting/muteState.js +42 -33
- package/test/unit/spec/meeting/request.js +75 -45
- package/test/unit/spec/meeting/utils.js +78 -53
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +1 -1
- package/test/unit/spec/meetings/index.js +438 -257
- package/test/unit/spec/meetings/utils.js +14 -12
- package/test/unit/spec/member/index.js +0 -1
- package/test/unit/spec/member/util.js +5 -6
- package/test/unit/spec/members/index.js +104 -54
- package/test/unit/spec/members/request.js +29 -20
- package/test/unit/spec/members/utils.js +8 -5
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/networkQualityMonitor/index.js +21 -15
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +9 -11
- package/test/unit/spec/reconnection-manager/index.js +16 -18
- package/test/unit/spec/roap/turnDiscovery.ts +22 -19
- package/test/unit/spec/stats-analyzer/index.js +25 -20
- package/test/utils/cmr.js +44 -42
- package/test/utils/testUtils.js +83 -74
- package/test/utils/webex-config.js +18 -18
- package/test/utils/webex-test-users.js +53 -50
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
isMain: true,
|
|
10
10
|
mariFecEnabled: false,
|
|
11
11
|
mariQosEnabled: false,
|
|
12
|
-
multistreamEnabled: false
|
|
12
|
+
multistreamEnabled: false,
|
|
13
13
|
},
|
|
14
14
|
dtlsBitrate: 0,
|
|
15
15
|
dtlsPackets: 0,
|
|
@@ -29,7 +29,7 @@ export default {
|
|
|
29
29
|
srtpUnprotectErrors: 0,
|
|
30
30
|
stunBitrate: 0,
|
|
31
31
|
stunPackets: 0,
|
|
32
|
-
transportType: 'UDP'
|
|
32
|
+
transportType: 'UDP',
|
|
33
33
|
},
|
|
34
34
|
streams: [
|
|
35
35
|
{
|
|
@@ -49,11 +49,11 @@ export default {
|
|
|
49
49
|
maxRtpJitter: 0,
|
|
50
50
|
meanRtpJitter: 0,
|
|
51
51
|
rtpPackets: 0,
|
|
52
|
-
ssci: 0
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
52
|
+
ssci: 0,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
57
|
],
|
|
58
58
|
audioTransmit: [
|
|
59
59
|
{
|
|
@@ -64,7 +64,7 @@ export default {
|
|
|
64
64
|
isMain: true,
|
|
65
65
|
mariFecEnabled: false,
|
|
66
66
|
mariQosEnabled: false,
|
|
67
|
-
multistreamEnabled: false
|
|
67
|
+
multistreamEnabled: false,
|
|
68
68
|
},
|
|
69
69
|
dtlsBitrate: 0,
|
|
70
70
|
dtlsPackets: 0,
|
|
@@ -84,7 +84,7 @@ export default {
|
|
|
84
84
|
rtxPackets: 0,
|
|
85
85
|
stunBitrate: 0,
|
|
86
86
|
stunPackets: 0,
|
|
87
|
-
transportType: 'UDP'
|
|
87
|
+
transportType: 'UDP',
|
|
88
88
|
},
|
|
89
89
|
streams: [
|
|
90
90
|
{
|
|
@@ -95,11 +95,11 @@ export default {
|
|
|
95
95
|
rtpPackets: 0,
|
|
96
96
|
ssci: 0,
|
|
97
97
|
transmittedBitrate: 0,
|
|
98
|
-
transmittedFrameRate: 0
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
98
|
+
transmittedFrameRate: 0,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
103
|
],
|
|
104
104
|
intervalMetadata: {
|
|
105
105
|
peerReflexiveIP: '0.0.0.0',
|
|
@@ -107,7 +107,7 @@ export default {
|
|
|
107
107
|
processAverageCPU: 0,
|
|
108
108
|
processMaximumCPU: 0,
|
|
109
109
|
systemAverageCPU: 0,
|
|
110
|
-
systemMaximumCPU: 0
|
|
110
|
+
systemMaximumCPU: 0,
|
|
111
111
|
},
|
|
112
112
|
intervalNumber: 0,
|
|
113
113
|
videoReceive: [
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
isMain: true, // Not avaliable
|
|
119
119
|
mariFecEnabled: true, // Not avaliable
|
|
120
120
|
mariQosEnabled: true, // Not avaliable
|
|
121
|
-
multistreamEnabled: true// Not avaliable
|
|
121
|
+
multistreamEnabled: true, // Not avaliable
|
|
122
122
|
},
|
|
123
123
|
dtlsBitrate: 0, // Not avaliable
|
|
124
124
|
dtlsPackets: 0, // Not avaliable
|
|
@@ -138,7 +138,7 @@ export default {
|
|
|
138
138
|
srtpUnprotectErrors: 0, // Not avaliable
|
|
139
139
|
stunBitrate: 0, // Not avaliable
|
|
140
140
|
stunPackets: 0, // Not avaliable
|
|
141
|
-
transportType: 'UDP'
|
|
141
|
+
transportType: 'UDP',
|
|
142
142
|
},
|
|
143
143
|
streams: [
|
|
144
144
|
{
|
|
@@ -157,7 +157,7 @@ export default {
|
|
|
157
157
|
rtpEndToEndLost: 0,
|
|
158
158
|
rtpJitter: 0,
|
|
159
159
|
rtpPackets: 0,
|
|
160
|
-
ssci: 0// Not avaliable
|
|
160
|
+
ssci: 0, // Not avaliable
|
|
161
161
|
},
|
|
162
162
|
h264CodecProfile: 'BP',
|
|
163
163
|
isActiveSpeaker: true,
|
|
@@ -170,9 +170,9 @@ export default {
|
|
|
170
170
|
receivedKeyFramesUnknown: 0,
|
|
171
171
|
receivedWidth: 0,
|
|
172
172
|
requestedFrameSize: 0,
|
|
173
|
-
requestedKeyFrames: 0
|
|
174
|
-
}
|
|
175
|
-
]
|
|
173
|
+
requestedKeyFrames: 0,
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
common: {
|
|
@@ -181,7 +181,7 @@ export default {
|
|
|
181
181
|
isMain: false, // Not avaliable
|
|
182
182
|
mariFecEnabled: true, // Not avaliable
|
|
183
183
|
mariQosEnabled: true, // Not avaliable
|
|
184
|
-
multistreamEnabled: true// Not avaliable
|
|
184
|
+
multistreamEnabled: true, // Not avaliable
|
|
185
185
|
},
|
|
186
186
|
dtlsBitrate: 0, // Not avaliable
|
|
187
187
|
dtlsPackets: 0, // Not avaliable
|
|
@@ -201,7 +201,7 @@ export default {
|
|
|
201
201
|
srtpUnprotectErrors: 0, // Not avaliable
|
|
202
202
|
stunBitrate: 0, // Not avaliable
|
|
203
203
|
stunPackets: 0, // Not avaliable
|
|
204
|
-
transportType: 'UDP'
|
|
204
|
+
transportType: 'UDP',
|
|
205
205
|
},
|
|
206
206
|
streams: [
|
|
207
207
|
{
|
|
@@ -220,7 +220,7 @@ export default {
|
|
|
220
220
|
rtpEndToEndLost: 0,
|
|
221
221
|
rtpJitter: 0,
|
|
222
222
|
rtpPackets: 0,
|
|
223
|
-
ssci: 0// Not avaliable
|
|
223
|
+
ssci: 0, // Not avaliable
|
|
224
224
|
},
|
|
225
225
|
h264CodecProfile: 'BP',
|
|
226
226
|
isActiveSpeaker: true,
|
|
@@ -233,10 +233,10 @@ export default {
|
|
|
233
233
|
receivedKeyFramesUnknown: 0,
|
|
234
234
|
receivedWidth: 0,
|
|
235
235
|
requestedFrameSize: 0,
|
|
236
|
-
requestedKeyFrames: 0
|
|
237
|
-
}
|
|
238
|
-
]
|
|
239
|
-
}
|
|
236
|
+
requestedKeyFrames: 0,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
},
|
|
240
240
|
],
|
|
241
241
|
videoTransmit: [
|
|
242
242
|
{
|
|
@@ -247,7 +247,7 @@ export default {
|
|
|
247
247
|
isMain: true,
|
|
248
248
|
mariFecEnabled: false, // Not avaliable
|
|
249
249
|
mariQosEnabled: false, // Not avaliable
|
|
250
|
-
multistreamEnabled: false// Not avaliable
|
|
250
|
+
multistreamEnabled: false, // Not avaliable
|
|
251
251
|
},
|
|
252
252
|
dtlsBitrate: 0, // Not avaliable
|
|
253
253
|
dtlsPackets: 0, // Not avaliable
|
|
@@ -267,7 +267,7 @@ export default {
|
|
|
267
267
|
rtxPackets: 0, // Dont have access to it
|
|
268
268
|
stunBitrate: 0, // Dont have access to it
|
|
269
269
|
stunPackets: 0, // Dont have access to it
|
|
270
|
-
transportType: 'UDP' // TODO: need to calculate
|
|
270
|
+
transportType: 'UDP', // TODO: need to calculate
|
|
271
271
|
},
|
|
272
272
|
streams: [
|
|
273
273
|
{
|
|
@@ -279,7 +279,7 @@ export default {
|
|
|
279
279
|
rtpPackets: 0, // same as rtp packets
|
|
280
280
|
ssci: 0,
|
|
281
281
|
transmittedBitrate: 0, // TODO: get in the candidate pair
|
|
282
|
-
transmittedFrameRate: 0 // TODO: from track info
|
|
282
|
+
transmittedFrameRate: 0, // TODO: from track info
|
|
283
283
|
},
|
|
284
284
|
h264CodecProfile: 'BP', // TODO: from localSDP
|
|
285
285
|
isAvatar: false, // Not Avaliable
|
|
@@ -303,11 +303,12 @@ export default {
|
|
|
303
303
|
transmittedKeyFramesSceneChange: 0, // Not Avaliable
|
|
304
304
|
transmittedKeyFramesStartup: 0, // Not Avaliable
|
|
305
305
|
transmittedKeyFramesUnknown: 0, // Not Avaliable
|
|
306
|
-
transmittedWidth: 0
|
|
307
|
-
}
|
|
308
|
-
]
|
|
306
|
+
transmittedWidth: 0,
|
|
307
|
+
},
|
|
308
|
+
],
|
|
309
309
|
},
|
|
310
|
-
{
|
|
310
|
+
{
|
|
311
|
+
// sceen sharing
|
|
311
312
|
common: {
|
|
312
313
|
availableBitrate: 0, // Not avaliable currently hardcoded
|
|
313
314
|
common: {
|
|
@@ -315,7 +316,7 @@ export default {
|
|
|
315
316
|
isMain: false,
|
|
316
317
|
mariFecEnabled: false, // Not avaliable
|
|
317
318
|
mariQosEnabled: false, // Not avaliable
|
|
318
|
-
multistreamEnabled: false// Not avaliable
|
|
319
|
+
multistreamEnabled: false, // Not avaliable
|
|
319
320
|
},
|
|
320
321
|
dtlsBitrate: 0, // Not avaliable
|
|
321
322
|
dtlsPackets: 0, // Not avaliable
|
|
@@ -335,7 +336,7 @@ export default {
|
|
|
335
336
|
rtxPackets: 0, // Dont have access to it
|
|
336
337
|
stunBitrate: 0, // Dont have access to it
|
|
337
338
|
stunPackets: 0, // Dont have access to it
|
|
338
|
-
transportType: 'UDP' // TODO: need to calculate
|
|
339
|
+
transportType: 'UDP', // TODO: need to calculate
|
|
339
340
|
},
|
|
340
341
|
streams: [
|
|
341
342
|
{
|
|
@@ -347,7 +348,7 @@ export default {
|
|
|
347
348
|
rtpPackets: 0, // same as rtp packets
|
|
348
349
|
ssci: 0,
|
|
349
350
|
transmittedBitrate: 0, // TODO: get in the candidate pair
|
|
350
|
-
transmittedFrameRate: 0 // TODO: from track info
|
|
351
|
+
transmittedFrameRate: 0, // TODO: from track info
|
|
351
352
|
},
|
|
352
353
|
h264CodecProfile: 'BP', // TODO: from localSDP
|
|
353
354
|
isAvatar: false, // Not Avaliable
|
|
@@ -371,12 +372,11 @@ export default {
|
|
|
371
372
|
transmittedKeyFramesSceneChange: 0, // Not Avaliable
|
|
372
373
|
transmittedKeyFramesStartup: 0, // Not Avaliable
|
|
373
374
|
transmittedKeyFramesUnknown: 0, // Not Avaliable
|
|
374
|
-
transmittedWidth: 0
|
|
375
|
-
}
|
|
376
|
-
]
|
|
377
|
-
}
|
|
378
|
-
]
|
|
379
|
-
}
|
|
380
|
-
]
|
|
375
|
+
transmittedWidth: 0,
|
|
376
|
+
},
|
|
377
|
+
],
|
|
378
|
+
},
|
|
379
|
+
],
|
|
380
|
+
},
|
|
381
|
+
],
|
|
381
382
|
};
|
|
382
|
-
|
|
@@ -8,13 +8,15 @@ import LoggerProxy from '../common/logs/logger-proxy';
|
|
|
8
8
|
import {BNR_STATUS} from '../constants';
|
|
9
9
|
|
|
10
10
|
const createEffectsState = (type: any) => {
|
|
11
|
-
LoggerProxy.logger.info(
|
|
11
|
+
LoggerProxy.logger.info(
|
|
12
|
+
`Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`
|
|
13
|
+
);
|
|
12
14
|
|
|
13
15
|
return new EffectsState(type);
|
|
14
16
|
};
|
|
15
17
|
|
|
16
18
|
/* The purpose of this class is to manage the effects state(for eg., BNR).
|
|
17
|
-
*/
|
|
19
|
+
*/
|
|
18
20
|
class EffectsState {
|
|
19
21
|
effectType: any;
|
|
20
22
|
pendingPromiseReject: any;
|
|
@@ -25,9 +27,9 @@ class EffectsState {
|
|
|
25
27
|
this.effectType = type;
|
|
26
28
|
this.state = {
|
|
27
29
|
bnr: {
|
|
28
|
-
enabled: BNR_STATUS.NOT_ENABLED
|
|
30
|
+
enabled: BNR_STATUS.NOT_ENABLED,
|
|
29
31
|
},
|
|
30
|
-
callToWebrtcBNRInProgress: false
|
|
32
|
+
callToWebrtcBNRInProgress: false,
|
|
31
33
|
};
|
|
32
34
|
// these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
|
|
33
35
|
this.pendingPromiseResolve = null;
|
|
@@ -98,7 +100,9 @@ class EffectsState {
|
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
if (this.state.callToWebrtcBNRInProgress) {
|
|
101
|
-
LoggerProxy.logger.warn(
|
|
103
|
+
LoggerProxy.logger.warn(
|
|
104
|
+
'Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete'
|
|
105
|
+
);
|
|
102
106
|
|
|
103
107
|
return this.resolvePromise();
|
|
104
108
|
}
|
|
@@ -110,32 +114,30 @@ class EffectsState {
|
|
|
110
114
|
this.state.callToWebrtcBNRInProgress = true;
|
|
111
115
|
const audioStream = MediaUtil.createMediaStream([meeting.mediaProperties.audioTrack]);
|
|
112
116
|
|
|
113
|
-
LoggerProxy.logger.info(
|
|
117
|
+
LoggerProxy.logger.info(
|
|
118
|
+
'Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio'
|
|
119
|
+
);
|
|
114
120
|
await meeting.updateAudio({
|
|
115
121
|
sendAudio: true,
|
|
116
122
|
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
117
|
-
stream: audioStream
|
|
123
|
+
stream: audioStream,
|
|
118
124
|
});
|
|
119
125
|
|
|
120
|
-
LoggerProxy.logger.info(
|
|
126
|
+
LoggerProxy.logger.info(
|
|
127
|
+
'Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track'
|
|
128
|
+
);
|
|
121
129
|
bnr.enabled = BNR_STATUS.ENABLED;
|
|
122
130
|
this.state.callToWebrtcBNRInProgress = false;
|
|
123
|
-
Metrics.sendBehavioralMetric(
|
|
124
|
-
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
131
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS);
|
|
132
|
+
} catch (error) {
|
|
128
133
|
bnr.enabled = BNR_STATUS.NOT_ENABLED;
|
|
129
134
|
this.state.callToWebrtcBNRInProgress = false;
|
|
130
135
|
LoggerProxy.logger.error('Meeting:index#enableBNR.', error);
|
|
131
136
|
|
|
132
|
-
Metrics.sendBehavioralMetric(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
stack: error.stack
|
|
137
|
-
}
|
|
138
|
-
);
|
|
137
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE, {
|
|
138
|
+
reason: error.message,
|
|
139
|
+
stack: error.stack,
|
|
140
|
+
});
|
|
139
141
|
this.rejectPromise(error);
|
|
140
142
|
|
|
141
143
|
throw error;
|
|
@@ -158,7 +160,9 @@ class EffectsState {
|
|
|
158
160
|
|
|
159
161
|
try {
|
|
160
162
|
if (this.state.callToWebrtcBNRInProgress) {
|
|
161
|
-
LoggerProxy.logger.info(
|
|
163
|
+
LoggerProxy.logger.info(
|
|
164
|
+
'Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete'
|
|
165
|
+
);
|
|
162
166
|
|
|
163
167
|
return this.resolvePromise();
|
|
164
168
|
}
|
|
@@ -171,34 +175,30 @@ class EffectsState {
|
|
|
171
175
|
|
|
172
176
|
const audioStream = MediaUtil.createMediaStream([audioTrack]);
|
|
173
177
|
|
|
174
|
-
LoggerProxy.logger.info(
|
|
178
|
+
LoggerProxy.logger.info(
|
|
179
|
+
'Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio'
|
|
180
|
+
);
|
|
175
181
|
|
|
176
182
|
await meeting.updateAudio({
|
|
177
183
|
sendAudio: true,
|
|
178
184
|
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
179
|
-
stream: audioStream
|
|
185
|
+
stream: audioStream,
|
|
180
186
|
});
|
|
181
187
|
|
|
182
188
|
bnr.enabled = BNR_STATUS.NOT_ENABLED;
|
|
183
189
|
|
|
184
190
|
this.state.callToWebrtcBNRInProgress = false;
|
|
185
191
|
|
|
186
|
-
Metrics.sendBehavioralMetric(
|
|
187
|
-
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
catch (error) {
|
|
192
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS);
|
|
193
|
+
} catch (error) {
|
|
191
194
|
bnr.enabled = BNR_STATUS.ENABLED;
|
|
192
195
|
this.state.callToWebrtcBNRInProgress = false;
|
|
193
196
|
LoggerProxy.logger.error(`Meeting:index#disableBNR. ${error}`);
|
|
194
197
|
|
|
195
|
-
Metrics.sendBehavioralMetric(
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
stack: error.stack
|
|
200
|
-
}
|
|
201
|
-
);
|
|
198
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE, {
|
|
199
|
+
reason: error.message,
|
|
200
|
+
stack: error.stack,
|
|
201
|
+
});
|
|
202
202
|
this.rejectPromise(error);
|
|
203
203
|
|
|
204
204
|
throw error;
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
MEETINGS
|
|
7
|
-
} from '../constants';
|
|
5
|
+
import {MEETINGS} from '../constants';
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* IInMeetingActions
|
|
@@ -114,6 +112,12 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
114
112
|
waitingForOthersToJoin: this.waitingForOthersToJoin,
|
|
115
113
|
});
|
|
116
114
|
|
|
115
|
+
/**
|
|
116
|
+
*
|
|
117
|
+
* @param actions
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
|
|
117
121
|
set = (actions: Partial<IInMeetingActions>) => {
|
|
118
122
|
const old = this.get();
|
|
119
123
|
|