@webex/plugin-meetings 2.59.1-next.0 → 2.59.2
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/common/browser-detection.d.ts +9 -0
- package/dist/common/browser-detection.js +2 -2
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/collection.js +2 -2
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +81 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +34 -0
- package/dist/common/queue.d.ts +32 -0
- package/dist/config.d.ts +73 -0
- package/dist/constants.d.ts +924 -0
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +5 -0
- package/dist/controls-options-manager/index.d.ts +120 -0
- package/dist/controls-options-manager/index.js +2 -2
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/controlsUtils.js +6 -6
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +269 -0
- package/dist/locus-info/index.js +18 -18
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +212 -0
- package/dist/locus-info/parser.js +2 -2
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +32 -0
- package/dist/media/properties.d.ts +108 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +233 -0
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/in-meeting-actions.d.ts +79 -0
- package/dist/meeting/index.d.ts +1621 -0
- package/dist/meeting/index.js +19 -13
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +116 -0
- package/dist/meeting/request.d.ts +255 -0
- package/dist/meeting/request.js +2 -2
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +2 -0
- package/dist/meeting/util.js +4 -4
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/collection.js +2 -2
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +57 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meetings/collection.d.ts +23 -0
- package/dist/meetings/collection.js +2 -2
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +296 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +147 -0
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +24 -0
- package/dist/members/index.d.ts +298 -0
- package/dist/members/index.js +2 -2
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +50 -0
- package/dist/members/util.d.ts +2 -0
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/constants.d.ts +57 -0
- package/dist/metrics/index.d.ts +152 -0
- package/dist/metrics/index.js +2 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/util.d.ts +6 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/index.d.ts +139 -0
- package/dist/reachability/index.js +2 -9
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +35 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +32 -0
- package/dist/reconnection-manager/index.d.ts +112 -0
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +193 -0
- package/dist/recording-controller/util.d.ts +13 -0
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/index.d.ts +116 -0
- package/dist/roap/request.d.ts +35 -0
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/turnDiscovery.d.ts +67 -0
- package/dist/roap/util.d.ts +2 -0
- package/dist/statsAnalyzer/global.d.ts +116 -0
- package/dist/statsAnalyzer/global.js +0 -10
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +191 -0
- package/dist/statsAnalyzer/index.js +13 -11
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
- package/dist/statsAnalyzer/mqaUtil.js +15 -15
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/package.json +20 -21
- package/src/meeting/index.ts +6 -0
- package/src/statsAnalyzer/global.ts +0 -10
- package/src/statsAnalyzer/index.ts +11 -12
- package/test/unit/spec/stats-analyzer/index.js +68 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventsScope from '../common/events/events-scope';
|
|
3
|
+
export declare const EVENTS: {
|
|
4
|
+
MEDIA_QUALITY: string;
|
|
5
|
+
LOCAL_MEDIA_STARTED: string;
|
|
6
|
+
LOCAL_MEDIA_STOPPED: string;
|
|
7
|
+
REMOTE_MEDIA_STARTED: string;
|
|
8
|
+
REMOTE_MEDIA_STOPPED: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Stats Analyzer class that will emit events based on detected quality
|
|
12
|
+
*
|
|
13
|
+
* @export
|
|
14
|
+
* @class StatsAnalyzer
|
|
15
|
+
* @extends {EventsScope}
|
|
16
|
+
*/
|
|
17
|
+
export declare class StatsAnalyzer extends EventsScope {
|
|
18
|
+
config: any;
|
|
19
|
+
correlationId: any;
|
|
20
|
+
lastEmittedStartStopEvent: any;
|
|
21
|
+
lastMqaDataSent: any;
|
|
22
|
+
lastStatsResults: any;
|
|
23
|
+
localMQEStats: any;
|
|
24
|
+
meetingMediaStatus: any;
|
|
25
|
+
mqaInterval: NodeJS.Timeout;
|
|
26
|
+
mqaSentCount: any;
|
|
27
|
+
networkQualityMonitor: any;
|
|
28
|
+
peerConnection: any;
|
|
29
|
+
statsInterval: NodeJS.Timeout;
|
|
30
|
+
statsResults: any;
|
|
31
|
+
statsStarted: any;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new instance of StatsAnalyzer
|
|
34
|
+
* @constructor
|
|
35
|
+
* @public
|
|
36
|
+
* @param {Object} config SDK Configuration Object
|
|
37
|
+
* @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
|
|
38
|
+
* @param {Object} statsResults Default properties for stats
|
|
39
|
+
*/
|
|
40
|
+
constructor(config: any, networkQualityMonitor?: object, statsResults?: object);
|
|
41
|
+
populateResults(lastMqa: any): void;
|
|
42
|
+
resetStatsResults(): void;
|
|
43
|
+
/**
|
|
44
|
+
* sets mediaStatus status for analyzing metrics
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
* @param {Object} status for the audio and video
|
|
48
|
+
* @memberof StatsAnalyzer
|
|
49
|
+
* @returns {void}
|
|
50
|
+
*/
|
|
51
|
+
updateMediaStatus(status: object): void;
|
|
52
|
+
/**
|
|
53
|
+
* captures MQA data from peerconnection
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
* @memberof StatsAnalyzer
|
|
57
|
+
* @returns {void}
|
|
58
|
+
*/
|
|
59
|
+
sendMqaData(): void;
|
|
60
|
+
/**
|
|
61
|
+
* updated the peerconnection when changed
|
|
62
|
+
*
|
|
63
|
+
* @private
|
|
64
|
+
* @memberof updatePeerconnection
|
|
65
|
+
* @param {PeerConnection} peerConnection
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
updatePeerconnection(peerConnection: any): void;
|
|
69
|
+
/**
|
|
70
|
+
* Starts the stats analyzer on interval
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
* @memberof StatsAnalyzer
|
|
74
|
+
* @param {PeerConnection} peerConnection
|
|
75
|
+
* @returns {Promise}
|
|
76
|
+
*/
|
|
77
|
+
startAnalyzer(peerConnection: any): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Cleans up the analyzer when done
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
* @memberof StatsAnalyzer
|
|
83
|
+
* @returns {void}
|
|
84
|
+
*/
|
|
85
|
+
stopAnalyzer(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Parse a single result of get stats
|
|
88
|
+
*
|
|
89
|
+
* @private
|
|
90
|
+
* @param {*} getStatsResult
|
|
91
|
+
* @param {String} type
|
|
92
|
+
* @param {boolean} isSender
|
|
93
|
+
* @returns {void}
|
|
94
|
+
* @memberof StatsAnalyzer
|
|
95
|
+
*/
|
|
96
|
+
private parseGetStatsResult;
|
|
97
|
+
/**
|
|
98
|
+
* Filters the get stats results for types
|
|
99
|
+
* @private
|
|
100
|
+
* @param {Array} getStatsResults
|
|
101
|
+
* @param {String} type
|
|
102
|
+
* @param {boolean} isSender
|
|
103
|
+
* @returns {void}
|
|
104
|
+
*/
|
|
105
|
+
private filterAndParseGetStatsResults;
|
|
106
|
+
/**
|
|
107
|
+
* parse the audio
|
|
108
|
+
* @param {String} result
|
|
109
|
+
* @param {boolean} type
|
|
110
|
+
* @returns {void}
|
|
111
|
+
*/
|
|
112
|
+
parseAudioSource(result: any, type: any): void;
|
|
113
|
+
/**
|
|
114
|
+
* emits started/stopped events for local/remote media by checking
|
|
115
|
+
* if given values are increasing or not. The previousValue, currentValue
|
|
116
|
+
* params can be any numerical value like number of receive packets or
|
|
117
|
+
* decoded frames, etc.
|
|
118
|
+
*
|
|
119
|
+
* @private
|
|
120
|
+
* @param {string} mediaType
|
|
121
|
+
* @param {number} previousValue - value to compare
|
|
122
|
+
* @param {number} currentValue - value to compare (must be same type of value as previousValue)
|
|
123
|
+
* @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
|
|
124
|
+
* @memberof StatsAnalyzer
|
|
125
|
+
* @returns {void}
|
|
126
|
+
*/
|
|
127
|
+
emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
|
|
128
|
+
/**
|
|
129
|
+
* compares current and previous stats to check if packets are not sent
|
|
130
|
+
*
|
|
131
|
+
* @private
|
|
132
|
+
* @memberof StatsAnalyzer
|
|
133
|
+
* @returns {void}
|
|
134
|
+
*/
|
|
135
|
+
private compareLastStatsResult;
|
|
136
|
+
/**
|
|
137
|
+
* Does a `getStats` on all the transceivers and parses the results
|
|
138
|
+
*
|
|
139
|
+
* @private
|
|
140
|
+
* @memberof StatsAnalyzer
|
|
141
|
+
* @returns {Promise}
|
|
142
|
+
*/
|
|
143
|
+
private getStatsAndParse;
|
|
144
|
+
/**
|
|
145
|
+
* Processes OutboundRTP stats result and stores
|
|
146
|
+
* @private
|
|
147
|
+
* @param {*} result
|
|
148
|
+
* @param {*} type
|
|
149
|
+
* @returns {void}
|
|
150
|
+
*/
|
|
151
|
+
private processOutboundRTPResult;
|
|
152
|
+
/**
|
|
153
|
+
* Processes InboundRTP stats result and stores
|
|
154
|
+
* @private
|
|
155
|
+
* @param {*} result
|
|
156
|
+
* @param {*} type
|
|
157
|
+
* @returns {void}
|
|
158
|
+
*/
|
|
159
|
+
private processInboundRTPResult;
|
|
160
|
+
/**
|
|
161
|
+
* Processes remote and local candidate result and stores
|
|
162
|
+
* @private
|
|
163
|
+
* @param {*} result
|
|
164
|
+
* @param {*} type
|
|
165
|
+
* @param {boolean} isSender
|
|
166
|
+
* @param {boolean} isRemote
|
|
167
|
+
*
|
|
168
|
+
* @returns {void}
|
|
169
|
+
*/
|
|
170
|
+
parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
|
|
171
|
+
/**
|
|
172
|
+
* Process Track results
|
|
173
|
+
*
|
|
174
|
+
* @private
|
|
175
|
+
* @param {*} result
|
|
176
|
+
* @param {*} mediaType
|
|
177
|
+
* @param {*} sendrecvType
|
|
178
|
+
* @returns {void}
|
|
179
|
+
* @memberof StatsAnalyzer
|
|
180
|
+
*/
|
|
181
|
+
private processTrackResult;
|
|
182
|
+
/**
|
|
183
|
+
*
|
|
184
|
+
* @private
|
|
185
|
+
* @param {*} result
|
|
186
|
+
* @param {*} type
|
|
187
|
+
* @returns {void}
|
|
188
|
+
* @memberof StatsAnalyzer
|
|
189
|
+
*/
|
|
190
|
+
private compareSentAndReceived;
|
|
191
|
+
}
|
|
@@ -16,7 +16,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
16
16
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
17
17
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
18
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
19
|
-
var
|
|
19
|
+
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
20
20
|
var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
|
|
21
21
|
var _constants = require("../constants");
|
|
22
22
|
var _config = _interopRequireDefault(require("../mediaQualityMetrics/config"));
|
|
@@ -412,7 +412,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
|
|
|
412
412
|
_config.default.intervals[0].intervalNumber = this.mqaSentCount;
|
|
413
413
|
|
|
414
414
|
// DO Deep copy, for some reason it takes the reference all the time rather then old value set
|
|
415
|
-
this.lastMqaDataSent = (0,
|
|
415
|
+
this.lastMqaDataSent = (0, _cloneDeep2.default)(this.statsResults);
|
|
416
416
|
this.populateResults(_config.default.intervals[0]);
|
|
417
417
|
this.resetStatsResults();
|
|
418
418
|
this.emit({
|
|
@@ -520,9 +520,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
|
|
|
520
520
|
case 'inbound-rtp':
|
|
521
521
|
this.processInboundRTPResult(getStatsResult, type);
|
|
522
522
|
break;
|
|
523
|
-
case 'track':
|
|
524
|
-
this.processTrackResult(getStatsResult, type);
|
|
525
|
-
break;
|
|
526
523
|
case 'remote-inbound-rtp':
|
|
527
524
|
case 'remote-outbound-rtp':
|
|
528
525
|
// @ts-ignore
|
|
@@ -761,6 +758,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
|
|
|
761
758
|
value: function processOutboundRTPResult(result, type) {
|
|
762
759
|
var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
|
|
763
760
|
var sendrecvType = _constants.STATS.SEND_DIRECTION;
|
|
761
|
+
this.processTrackResult(result, type, sendrecvType);
|
|
764
762
|
if (result.bytesSent) {
|
|
765
763
|
var kilobytes = 0;
|
|
766
764
|
if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
|
|
@@ -817,6 +815,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
|
|
|
817
815
|
value: function processInboundRTPResult(result, type) {
|
|
818
816
|
var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
|
|
819
817
|
var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
|
|
818
|
+
this.processTrackResult(result, type, sendrecvType);
|
|
820
819
|
if (result.bytesReceived) {
|
|
821
820
|
var kilobytes = 0;
|
|
822
821
|
if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived) {
|
|
@@ -896,25 +895,28 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
|
|
|
896
895
|
* @private
|
|
897
896
|
* @param {*} result
|
|
898
897
|
* @param {*} mediaType
|
|
898
|
+
* @param {*} sendrecvType
|
|
899
899
|
* @returns {void}
|
|
900
900
|
* @memberof StatsAnalyzer
|
|
901
901
|
*/
|
|
902
|
-
function processTrackResult(result, mediaType) {
|
|
903
|
-
if (!result ||
|
|
902
|
+
function processTrackResult(result, mediaType, sendrecvType) {
|
|
903
|
+
if (!result || mediaType === _constants.STATS.AUDIO_CORRELATE) {
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
if (result.type !== 'inbound-rtp' && result.type !== 'outbound-rtp') {
|
|
904
907
|
return;
|
|
905
908
|
}
|
|
906
|
-
if (result.type !== 'track') return;
|
|
907
|
-
var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
|
|
908
909
|
if (result.frameWidth && result.frameHeight) {
|
|
909
910
|
this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
|
|
910
911
|
this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
|
|
911
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
|
|
912
|
-
this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
|
|
913
912
|
}
|
|
914
913
|
if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
|
|
915
914
|
this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
|
|
916
915
|
this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
|
|
917
916
|
this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
|
|
917
|
+
} else if (sendrecvType === _constants.STATS.SEND_DIRECTION) {
|
|
918
|
+
this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
|
|
919
|
+
this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
|
|
918
920
|
}
|
|
919
921
|
if (result.trackIdentifier && mediaType !== _constants.STATS.AUDIO_CORRELATE) {
|
|
920
922
|
this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;
|