@webex/internal-media-core 2.10.1 → 2.10.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/cjs/index.js +107 -1
- package/dist/esm/index.js +107 -2
- package/dist/types/StatsAnalyzer/NetworkQualityMonitor.d.ts +20 -0
- package/dist/types/StatsAnalyzer/NetworkQualityMonitor.d.ts.map +1 -0
- package/dist/types/StatsAnalyzer/NetworkQualityMonitor.test.d.ts +2 -0
- package/dist/types/StatsAnalyzer/NetworkQualityMonitor.test.d.ts.map +1 -0
- package/dist/types/StatsAnalyzer/StatsAnalyzer.d.ts +2 -1
- package/dist/types/StatsAnalyzer/StatsAnalyzer.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/eventTypes.d.ts +10 -0
- package/dist/types/StatsAnalyzer/eventTypes.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/index.d.ts +1 -0
- package/dist/types/StatsAnalyzer/index.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/types.d.ts +15 -1
- package/dist/types/StatsAnalyzer/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -17468,6 +17468,10 @@ exports.StatsAnalyzerEventNames = void 0;
|
|
|
17468
17468
|
StatsAnalyzerEventNames["REMOTE_MEDIA_STARTED"] = "REMOTE_MEDIA_STARTED";
|
|
17469
17469
|
StatsAnalyzerEventNames["REMOTE_MEDIA_STOPPED"] = "REMOTE_MEDIA_STOPPED";
|
|
17470
17470
|
})(exports.StatsAnalyzerEventNames || (exports.StatsAnalyzerEventNames = {}));
|
|
17471
|
+
exports.NetworkQualityEventNames = void 0;
|
|
17472
|
+
(function (NetworkQualityEventNames) {
|
|
17473
|
+
NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
|
|
17474
|
+
})(exports.NetworkQualityEventNames || (exports.NetworkQualityEventNames = {}));
|
|
17471
17475
|
|
|
17472
17476
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17473
17477
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -17475,7 +17479,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
17475
17479
|
constructor(_ref) {
|
|
17476
17480
|
var {
|
|
17477
17481
|
config,
|
|
17478
|
-
networkQualityMonitor
|
|
17482
|
+
networkQualityMonitor,
|
|
17479
17483
|
statsResults = STATS_DEFAULT,
|
|
17480
17484
|
isMultistream = false
|
|
17481
17485
|
} = _ref;
|
|
@@ -18258,6 +18262,107 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18258
18262
|
}
|
|
18259
18263
|
}
|
|
18260
18264
|
|
|
18265
|
+
class NetworkQualityMonitor extends EventEmitter$5 {
|
|
18266
|
+
constructor(config) {
|
|
18267
|
+
super();
|
|
18268
|
+
_defineProperty__default["default"](this, "config", void 0);
|
|
18269
|
+
_defineProperty__default["default"](this, "frequencyTypes", void 0);
|
|
18270
|
+
_defineProperty__default["default"](this, "indicatorTypes", void 0);
|
|
18271
|
+
_defineProperty__default["default"](this, "networkQualityScore", void 0);
|
|
18272
|
+
_defineProperty__default["default"](this, "networkQualityStatus", void 0);
|
|
18273
|
+
this.config = config;
|
|
18274
|
+
this.indicatorTypes = Object.freeze({
|
|
18275
|
+
PACKETLOSS: 'packetLoss',
|
|
18276
|
+
LATENCY: 'latency',
|
|
18277
|
+
JITTER: 'jitter'
|
|
18278
|
+
});
|
|
18279
|
+
this.frequencyTypes = Object.freeze({
|
|
18280
|
+
UPLINK: 'uplink',
|
|
18281
|
+
DOWNLINK: 'downlink'
|
|
18282
|
+
});
|
|
18283
|
+
this.networkQualityScore = 1;
|
|
18284
|
+
this.networkQualityStatus = {
|
|
18285
|
+
[this.frequencyTypes.UPLINK]: {}
|
|
18286
|
+
};
|
|
18287
|
+
}
|
|
18288
|
+
emitNetworkQuality(mediaType) {
|
|
18289
|
+
this.emit(exports.NetworkQualityEventNames.NETWORK_QUALITY, {
|
|
18290
|
+
mediaType,
|
|
18291
|
+
networkQualityScore: this.networkQualityScore
|
|
18292
|
+
});
|
|
18293
|
+
}
|
|
18294
|
+
updateNetworkQualityStatus(mediaType) {
|
|
18295
|
+
this.emitNetworkQuality(mediaType);
|
|
18296
|
+
this.networkQualityScore = 1;
|
|
18297
|
+
}
|
|
18298
|
+
determineUplinkNetworkQuality(_ref) {
|
|
18299
|
+
var {
|
|
18300
|
+
mediaType,
|
|
18301
|
+
remoteRtpResults,
|
|
18302
|
+
statsAnalyzerCurrentStats
|
|
18303
|
+
} = _ref;
|
|
18304
|
+
var roundTripTimeInMilliseconds = remoteRtpResults.roundTripTime * 1000;
|
|
18305
|
+
var jitterInMilliseconds = remoteRtpResults.jitter * 1000;
|
|
18306
|
+
var {
|
|
18307
|
+
currentPacketLossRatio
|
|
18308
|
+
} = statsAnalyzerCurrentStats[mediaType].send;
|
|
18309
|
+
var {
|
|
18310
|
+
JITTER,
|
|
18311
|
+
PACKETLOSS,
|
|
18312
|
+
LATENCY
|
|
18313
|
+
} = this.indicatorTypes;
|
|
18314
|
+
var {
|
|
18315
|
+
UPLINK
|
|
18316
|
+
} = this.frequencyTypes;
|
|
18317
|
+
var determinePacketLoss = () => {
|
|
18318
|
+
if (this.config.videoPacketLossRatioThreshold !== undefined && currentPacketLossRatio > this.config.videoPacketLossRatioThreshold) {
|
|
18319
|
+
this.networkQualityScore = 0;
|
|
18320
|
+
return false;
|
|
18321
|
+
}
|
|
18322
|
+
return true;
|
|
18323
|
+
};
|
|
18324
|
+
var determineLatency = () => {
|
|
18325
|
+
if (this.config.rttThreshold !== undefined && roundTripTimeInMilliseconds > this.config.rttThreshold) {
|
|
18326
|
+
this.networkQualityScore = 0;
|
|
18327
|
+
return false;
|
|
18328
|
+
}
|
|
18329
|
+
return true;
|
|
18330
|
+
};
|
|
18331
|
+
var determineJitter = () => {
|
|
18332
|
+
if (this.config.jitterThreshold !== undefined && jitterInMilliseconds > this.config.jitterThreshold) {
|
|
18333
|
+
this.networkQualityScore = 0;
|
|
18334
|
+
return false;
|
|
18335
|
+
}
|
|
18336
|
+
return true;
|
|
18337
|
+
};
|
|
18338
|
+
var getValueOrNull = value => typeof value === 'undefined' ? null : value;
|
|
18339
|
+
if (mediaType !== null) {
|
|
18340
|
+
if (!this.networkQualityStatus[UPLINK][mediaType]) {
|
|
18341
|
+
this.networkQualityStatus[UPLINK][mediaType] = {};
|
|
18342
|
+
}
|
|
18343
|
+
this.networkQualityStatus[UPLINK][mediaType][PACKETLOSS] = {
|
|
18344
|
+
acceptable: determinePacketLoss(),
|
|
18345
|
+
value: getValueOrNull(currentPacketLossRatio)
|
|
18346
|
+
};
|
|
18347
|
+
this.networkQualityStatus[UPLINK][mediaType][LATENCY] = {
|
|
18348
|
+
acceptable: determineLatency(),
|
|
18349
|
+
value: getValueOrNull(remoteRtpResults.roundTripTime)
|
|
18350
|
+
};
|
|
18351
|
+
this.networkQualityStatus[UPLINK][mediaType][JITTER] = {
|
|
18352
|
+
acceptable: determineJitter(),
|
|
18353
|
+
value: getValueOrNull(remoteRtpResults.jitter)
|
|
18354
|
+
};
|
|
18355
|
+
this.updateNetworkQualityStatus(mediaType);
|
|
18356
|
+
}
|
|
18357
|
+
}
|
|
18358
|
+
get networkQualityStats() {
|
|
18359
|
+
var {
|
|
18360
|
+
UPLINK
|
|
18361
|
+
} = this.frequencyTypes;
|
|
18362
|
+
return this.networkQualityStatus[UPLINK];
|
|
18363
|
+
}
|
|
18364
|
+
}
|
|
18365
|
+
|
|
18261
18366
|
var Media = {
|
|
18262
18367
|
createAudioTrack: createAudioTrack,
|
|
18263
18368
|
createVideoTrack: createVideoTrack,
|
|
@@ -18286,6 +18391,7 @@ exports.LocalStream = LocalStream;
|
|
|
18286
18391
|
exports.LocalSystemAudioStream = LocalSystemAudioStream;
|
|
18287
18392
|
exports.Media = Media;
|
|
18288
18393
|
exports.MultistreamRoapMediaConnection = MultistreamRoapMediaConnection;
|
|
18394
|
+
exports.NetworkQualityMonitor = NetworkQualityMonitor;
|
|
18289
18395
|
exports.PeerConnection = PeerConnection;
|
|
18290
18396
|
exports.ReceiveSlot = ReceiveSlot;
|
|
18291
18397
|
exports.ReceiverSelectedInfo = ReceiverSelectedInfo;
|
package/dist/esm/index.js
CHANGED
|
@@ -17457,6 +17457,10 @@ var StatsAnalyzerEventNames;
|
|
|
17457
17457
|
StatsAnalyzerEventNames["REMOTE_MEDIA_STARTED"] = "REMOTE_MEDIA_STARTED";
|
|
17458
17458
|
StatsAnalyzerEventNames["REMOTE_MEDIA_STOPPED"] = "REMOTE_MEDIA_STOPPED";
|
|
17459
17459
|
})(StatsAnalyzerEventNames || (StatsAnalyzerEventNames = {}));
|
|
17460
|
+
var NetworkQualityEventNames;
|
|
17461
|
+
(function (NetworkQualityEventNames) {
|
|
17462
|
+
NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
|
|
17463
|
+
})(NetworkQualityEventNames || (NetworkQualityEventNames = {}));
|
|
17460
17464
|
|
|
17461
17465
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17462
17466
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -17464,7 +17468,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
17464
17468
|
constructor(_ref) {
|
|
17465
17469
|
var {
|
|
17466
17470
|
config,
|
|
17467
|
-
networkQualityMonitor
|
|
17471
|
+
networkQualityMonitor,
|
|
17468
17472
|
statsResults = STATS_DEFAULT,
|
|
17469
17473
|
isMultistream = false
|
|
17470
17474
|
} = _ref;
|
|
@@ -18247,6 +18251,107 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18247
18251
|
}
|
|
18248
18252
|
}
|
|
18249
18253
|
|
|
18254
|
+
class NetworkQualityMonitor extends EventEmitter$5 {
|
|
18255
|
+
constructor(config) {
|
|
18256
|
+
super();
|
|
18257
|
+
_defineProperty(this, "config", void 0);
|
|
18258
|
+
_defineProperty(this, "frequencyTypes", void 0);
|
|
18259
|
+
_defineProperty(this, "indicatorTypes", void 0);
|
|
18260
|
+
_defineProperty(this, "networkQualityScore", void 0);
|
|
18261
|
+
_defineProperty(this, "networkQualityStatus", void 0);
|
|
18262
|
+
this.config = config;
|
|
18263
|
+
this.indicatorTypes = Object.freeze({
|
|
18264
|
+
PACKETLOSS: 'packetLoss',
|
|
18265
|
+
LATENCY: 'latency',
|
|
18266
|
+
JITTER: 'jitter'
|
|
18267
|
+
});
|
|
18268
|
+
this.frequencyTypes = Object.freeze({
|
|
18269
|
+
UPLINK: 'uplink',
|
|
18270
|
+
DOWNLINK: 'downlink'
|
|
18271
|
+
});
|
|
18272
|
+
this.networkQualityScore = 1;
|
|
18273
|
+
this.networkQualityStatus = {
|
|
18274
|
+
[this.frequencyTypes.UPLINK]: {}
|
|
18275
|
+
};
|
|
18276
|
+
}
|
|
18277
|
+
emitNetworkQuality(mediaType) {
|
|
18278
|
+
this.emit(NetworkQualityEventNames.NETWORK_QUALITY, {
|
|
18279
|
+
mediaType,
|
|
18280
|
+
networkQualityScore: this.networkQualityScore
|
|
18281
|
+
});
|
|
18282
|
+
}
|
|
18283
|
+
updateNetworkQualityStatus(mediaType) {
|
|
18284
|
+
this.emitNetworkQuality(mediaType);
|
|
18285
|
+
this.networkQualityScore = 1;
|
|
18286
|
+
}
|
|
18287
|
+
determineUplinkNetworkQuality(_ref) {
|
|
18288
|
+
var {
|
|
18289
|
+
mediaType,
|
|
18290
|
+
remoteRtpResults,
|
|
18291
|
+
statsAnalyzerCurrentStats
|
|
18292
|
+
} = _ref;
|
|
18293
|
+
var roundTripTimeInMilliseconds = remoteRtpResults.roundTripTime * 1000;
|
|
18294
|
+
var jitterInMilliseconds = remoteRtpResults.jitter * 1000;
|
|
18295
|
+
var {
|
|
18296
|
+
currentPacketLossRatio
|
|
18297
|
+
} = statsAnalyzerCurrentStats[mediaType].send;
|
|
18298
|
+
var {
|
|
18299
|
+
JITTER,
|
|
18300
|
+
PACKETLOSS,
|
|
18301
|
+
LATENCY
|
|
18302
|
+
} = this.indicatorTypes;
|
|
18303
|
+
var {
|
|
18304
|
+
UPLINK
|
|
18305
|
+
} = this.frequencyTypes;
|
|
18306
|
+
var determinePacketLoss = () => {
|
|
18307
|
+
if (this.config.videoPacketLossRatioThreshold !== undefined && currentPacketLossRatio > this.config.videoPacketLossRatioThreshold) {
|
|
18308
|
+
this.networkQualityScore = 0;
|
|
18309
|
+
return false;
|
|
18310
|
+
}
|
|
18311
|
+
return true;
|
|
18312
|
+
};
|
|
18313
|
+
var determineLatency = () => {
|
|
18314
|
+
if (this.config.rttThreshold !== undefined && roundTripTimeInMilliseconds > this.config.rttThreshold) {
|
|
18315
|
+
this.networkQualityScore = 0;
|
|
18316
|
+
return false;
|
|
18317
|
+
}
|
|
18318
|
+
return true;
|
|
18319
|
+
};
|
|
18320
|
+
var determineJitter = () => {
|
|
18321
|
+
if (this.config.jitterThreshold !== undefined && jitterInMilliseconds > this.config.jitterThreshold) {
|
|
18322
|
+
this.networkQualityScore = 0;
|
|
18323
|
+
return false;
|
|
18324
|
+
}
|
|
18325
|
+
return true;
|
|
18326
|
+
};
|
|
18327
|
+
var getValueOrNull = value => typeof value === 'undefined' ? null : value;
|
|
18328
|
+
if (mediaType !== null) {
|
|
18329
|
+
if (!this.networkQualityStatus[UPLINK][mediaType]) {
|
|
18330
|
+
this.networkQualityStatus[UPLINK][mediaType] = {};
|
|
18331
|
+
}
|
|
18332
|
+
this.networkQualityStatus[UPLINK][mediaType][PACKETLOSS] = {
|
|
18333
|
+
acceptable: determinePacketLoss(),
|
|
18334
|
+
value: getValueOrNull(currentPacketLossRatio)
|
|
18335
|
+
};
|
|
18336
|
+
this.networkQualityStatus[UPLINK][mediaType][LATENCY] = {
|
|
18337
|
+
acceptable: determineLatency(),
|
|
18338
|
+
value: getValueOrNull(remoteRtpResults.roundTripTime)
|
|
18339
|
+
};
|
|
18340
|
+
this.networkQualityStatus[UPLINK][mediaType][JITTER] = {
|
|
18341
|
+
acceptable: determineJitter(),
|
|
18342
|
+
value: getValueOrNull(remoteRtpResults.jitter)
|
|
18343
|
+
};
|
|
18344
|
+
this.updateNetworkQualityStatus(mediaType);
|
|
18345
|
+
}
|
|
18346
|
+
}
|
|
18347
|
+
get networkQualityStats() {
|
|
18348
|
+
var {
|
|
18349
|
+
UPLINK
|
|
18350
|
+
} = this.frequencyTypes;
|
|
18351
|
+
return this.networkQualityStatus[UPLINK];
|
|
18352
|
+
}
|
|
18353
|
+
}
|
|
18354
|
+
|
|
18250
18355
|
var Media = {
|
|
18251
18356
|
createAudioTrack: createAudioTrack,
|
|
18252
18357
|
createVideoTrack: createVideoTrack,
|
|
@@ -18264,4 +18369,4 @@ var Media = {
|
|
|
18264
18369
|
}
|
|
18265
18370
|
};
|
|
18266
18371
|
|
|
18267
|
-
export { ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
|
|
18372
|
+
export { ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, NetworkQualityEventNames, NetworkQualityMonitor, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from '../EventEmitter';
|
|
2
|
+
import { NetworkQualityMonitorEvents } from './eventTypes';
|
|
3
|
+
import { NetworkQualityFrequencyTypes, NetworkQualityIndicatorTypes, NetworkQualityMonitorConfig, NetworkQualityStatus, StatsResults } from './types';
|
|
4
|
+
export declare class NetworkQualityMonitor extends EventEmitter<NetworkQualityMonitorEvents> {
|
|
5
|
+
config: NetworkQualityMonitorConfig;
|
|
6
|
+
frequencyTypes: NetworkQualityFrequencyTypes;
|
|
7
|
+
indicatorTypes: NetworkQualityIndicatorTypes;
|
|
8
|
+
networkQualityScore: 0 | 1;
|
|
9
|
+
networkQualityStatus: NetworkQualityStatus;
|
|
10
|
+
constructor(config: NetworkQualityMonitorConfig);
|
|
11
|
+
private emitNetworkQuality;
|
|
12
|
+
private updateNetworkQualityStatus;
|
|
13
|
+
determineUplinkNetworkQuality({ mediaType, remoteRtpResults, statsAnalyzerCurrentStats, }: {
|
|
14
|
+
mediaType: string;
|
|
15
|
+
remoteRtpResults: StatsResults;
|
|
16
|
+
statsAnalyzerCurrentStats: StatsResults;
|
|
17
|
+
}): void;
|
|
18
|
+
get networkQualityStats(): any;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=NetworkQualityMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkQualityMonitor.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/NetworkQualityMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAA2B,2BAA2B,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,2BAA2B,CAAC;IAElF,MAAM,EAAE,2BAA2B,CAAC;IAGpC,cAAc,EAAE,4BAA4B,CAAC;IAG7C,cAAc,EAAE,4BAA4B,CAAC;IAG7C,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC;IAG3B,oBAAoB,EAAE,oBAAoB,CAAC;gBAQ/B,MAAM,EAAE,2BAA2B;IAuB/C,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,0BAA0B;IAe3B,6BAA6B,CAAC,EACnC,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,YAAY,CAAC;QAC/B,yBAAyB,EAAE,YAAY,CAAC;KACzC,GAAG,IAAI;IA0GR,IAAI,mBAAmB,QAItB;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkQualityMonitor.test.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/NetworkQualityMonitor.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { EventEmitter } from '../EventEmitter';
|
|
2
|
-
import { ActualExpectedMediaStatus, MqaData,
|
|
2
|
+
import { ActualExpectedMediaStatus, MqaData, StatsAnalyzerConfig, StatsResults } from './types';
|
|
3
3
|
import { MultistreamRoapMediaConnection, RoapMediaConnection } from '../MediaConnection';
|
|
4
4
|
import { LastEmittedStartStopEvents, StatsAnalyzerEvents } from './eventTypes';
|
|
5
|
+
import { NetworkQualityMonitor } from './NetworkQualityMonitor';
|
|
5
6
|
export declare class StatsAnalyzer extends EventEmitter<StatsAnalyzerEvents> {
|
|
6
7
|
config: StatsAnalyzerConfig;
|
|
7
8
|
correlationId: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,
|
|
1
|
+
{"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,mBAAmB,EACnB,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,8BAA8B,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAK9D,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAE5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,0BAA0B,EAAE,0BAA0B,CAAC;IAEvD,eAAe,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE5C,YAAY,EAAE,MAAM,CAAC;IAErB,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,eAAe,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE7E,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE9C,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,OAAO,CAAC;IAGtB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,cAAc,EAAE,MAAM,CAAC;IAEvB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,aAAa,EAAE,OAAO,CAAC;gBAUX,EACV,MAAM,EACN,qBAAqB,EACrB,YAA4B,EAC5B,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAoBD,OAAO,CAAC,iBAAiB;IAmBlB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAgBnE,OAAO,CAAC,WAAW;IAwUZ,iBAAiB,IAAI,MAAM;IAU3B,aAAa,CAAC,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IAuBnF,YAAY;IA8BnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB,CAkDzB;IAKF,OAAO,CAAC,sBAAsB;IAgN9B,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,uBAAuB;IAgK/B,OAAO,CAAC,6CAA6C,CA+BnD;IAUF,OAAO,CAAC,cAAc,CAuDpB;IAQF,OAAO,CAAC,sBAAsB;CAkD/B"}
|
|
@@ -29,5 +29,15 @@ export declare type LastEmittedStartStopEvents = Partial<{
|
|
|
29
29
|
video: Partial<LocalRemoteMediaStartedStopped>;
|
|
30
30
|
share: Partial<LocalRemoteMediaStartedStopped>;
|
|
31
31
|
}>;
|
|
32
|
+
export declare enum NetworkQualityEventNames {
|
|
33
|
+
NETWORK_QUALITY = "NETWORK_QUALITY"
|
|
34
|
+
}
|
|
35
|
+
interface NetworkQualityEvent {
|
|
36
|
+
mediaType: string;
|
|
37
|
+
networkQualityScore: number;
|
|
38
|
+
}
|
|
39
|
+
export interface NetworkQualityMonitorEvents extends EventMap {
|
|
40
|
+
[NetworkQualityEventNames.NETWORK_QUALITY]: (event: NetworkQualityEvent) => void;
|
|
41
|
+
}
|
|
32
42
|
export {};
|
|
33
43
|
//# sourceMappingURL=eventTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,UAAU,iBAAiB;IAEzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtF;AAED,oBAAY,8BAA8B,GAAG;IAC3C,KAAK,EAAE,uBAAuB,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC;IACjG,MAAM,EACF,uBAAuB,CAAC,oBAAoB,GAC5C,uBAAuB,CAAC,oBAAoB,CAAC;CAClD,CAAC;AAEF,oBAAY,0BAA0B,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAChD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,UAAU,iBAAiB;IAEzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtF;AAED,oBAAY,8BAA8B,GAAG;IAC3C,KAAK,EAAE,uBAAuB,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC;IACjG,MAAM,EACF,uBAAuB,CAAC,oBAAoB,GAC5C,uBAAuB,CAAC,oBAAoB,CAAC;CAClD,CAAC;AAEF,oBAAY,0BAA0B,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,oBAAY,wBAAwB;IAClC,eAAe,oBAAoB;CACpC;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA4B,SAAQ,QAAQ;IAC3D,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAClF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC"}
|
|
@@ -30,7 +30,6 @@ export declare type StatsAnalyzerConfig = {
|
|
|
30
30
|
export declare type StatsResults = Record<string, any>;
|
|
31
31
|
export declare type MqaData = Record<string, any>;
|
|
32
32
|
export declare type GetStatsResults = Record<string, any>;
|
|
33
|
-
export declare type NetworkQualityMonitor = Record<string, any>;
|
|
34
33
|
declare type MediaStatus = {
|
|
35
34
|
mediaType: StatsMediaType;
|
|
36
35
|
mediaContent: 'main' | 'slides';
|
|
@@ -54,5 +53,20 @@ export declare type ActualExpectedMediaStatus = {
|
|
|
54
53
|
receiveShare?: boolean;
|
|
55
54
|
};
|
|
56
55
|
};
|
|
56
|
+
export declare type NetworkQualityStatus = Record<string, any>;
|
|
57
|
+
export declare type NetworkQualityMonitorConfig = {
|
|
58
|
+
videoPacketLossRatioThreshold: number;
|
|
59
|
+
rttThreshold: number;
|
|
60
|
+
jitterThreshold: number;
|
|
61
|
+
};
|
|
62
|
+
export declare type NetworkQualityFrequencyTypes = {
|
|
63
|
+
UPLINK: 'uplink';
|
|
64
|
+
DOWNLINK: 'downlink';
|
|
65
|
+
};
|
|
66
|
+
export declare type NetworkQualityIndicatorTypes = {
|
|
67
|
+
PACKETLOSS: 'packetLoss';
|
|
68
|
+
LATENCY: 'latency';
|
|
69
|
+
JITTER: 'jitter';
|
|
70
|
+
};
|
|
57
71
|
export {};
|
|
58
72
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,OAAO,SAAS;CACjB;AAED,oBAAY,MAAM;IAChB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI/C,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI1C,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,OAAO,SAAS;CACjB;AAED,oBAAY,MAAM;IAChB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI/C,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI1C,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElD,aAAK,WAAW,GAAG;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAGF,oBAAY,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvD,oBAAY,2BAA2B,GAAG;IACxC,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC"}
|