twilio-video 2.18.2 → 2.20.0

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.
Files changed (91) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -1
  4. package/dist/twilio-video.js +1000 -796
  5. package/dist/twilio-video.min.js +23 -23
  6. package/es5/connect.js +24 -3
  7. package/es5/connect.js.map +1 -1
  8. package/es5/encodingparameters.js +5 -1
  9. package/es5/encodingparameters.js.map +1 -1
  10. package/es5/localparticipant.js +4 -0
  11. package/es5/localparticipant.js.map +1 -1
  12. package/es5/media/track/localmediatrack.js +2 -0
  13. package/es5/media/track/localmediatrack.js.map +1 -1
  14. package/es5/media/track/sender.js +50 -2
  15. package/es5/media/track/sender.js.map +1 -1
  16. package/es5/preflight/getturncredentials.js +14 -9
  17. package/es5/preflight/getturncredentials.js.map +1 -1
  18. package/es5/preflight/preflighttest.js +115 -75
  19. package/es5/preflight/preflighttest.js.map +1 -1
  20. package/es5/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  21. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  22. package/es5/signaling/v2/iceconnectionmonitor.js +3 -7
  23. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  24. package/es5/signaling/v2/localparticipant.js +35 -1
  25. package/es5/signaling/v2/localparticipant.js.map +1 -1
  26. package/es5/signaling/v2/networkqualitysignaling.js +20 -1
  27. package/es5/signaling/v2/networkqualitysignaling.js.map +1 -1
  28. package/es5/signaling/v2/peerconnection.js +268 -145
  29. package/es5/signaling/v2/peerconnection.js.map +1 -1
  30. package/es5/signaling/v2/peerconnectionmanager.js +8 -0
  31. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  32. package/es5/signaling/v2/publisherhintsignaling.js +85 -0
  33. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -0
  34. package/es5/signaling/v2/renderhintssignaling.js +28 -17
  35. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  36. package/es5/signaling/v2/room.js +33 -1
  37. package/es5/signaling/v2/room.js.map +1 -1
  38. package/es5/signaling/v2/twilioconnectiontransport.js +6 -8
  39. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  40. package/es5/util/cancelablepromise.js +11 -0
  41. package/es5/util/cancelablepromise.js.map +1 -1
  42. package/es5/util/constants.js +1 -0
  43. package/es5/util/constants.js.map +1 -1
  44. package/es5/util/index.js +22 -6
  45. package/es5/util/index.js.map +1 -1
  46. package/es5/util/sdp/index.js +31 -95
  47. package/es5/util/sdp/index.js.map +1 -1
  48. package/es5/util/sdp/issue8329.js +1 -2
  49. package/es5/util/sdp/issue8329.js.map +1 -1
  50. package/es5/util/sdp/simulcast.js +6 -29
  51. package/es5/util/sdp/simulcast.js.map +1 -1
  52. package/es5/util/sdp/{trackmatcher/mid.js → trackmatcher.js} +11 -11
  53. package/es5/util/sdp/trackmatcher.js.map +1 -0
  54. package/lib/connect.js +29 -3
  55. package/lib/encodingparameters.js +5 -1
  56. package/lib/localparticipant.js +5 -0
  57. package/lib/media/track/localmediatrack.js +2 -0
  58. package/lib/media/track/sender.js +36 -2
  59. package/lib/preflight/getturncredentials.ts +18 -9
  60. package/lib/preflight/preflighttest.ts +110 -74
  61. package/lib/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  62. package/lib/signaling/v2/iceconnectionmonitor.js +3 -8
  63. package/lib/signaling/v2/localparticipant.js +41 -1
  64. package/lib/signaling/v2/networkqualitysignaling.js +24 -1
  65. package/lib/signaling/v2/peerconnection.js +270 -157
  66. package/lib/signaling/v2/peerconnectionmanager.js +9 -0
  67. package/lib/signaling/v2/publisherhintsignaling.js +71 -0
  68. package/lib/signaling/v2/renderhintssignaling.js +28 -17
  69. package/lib/signaling/v2/room.js +37 -1
  70. package/lib/signaling/v2/twilioconnectiontransport.js +7 -10
  71. package/lib/util/cancelablepromise.js +12 -0
  72. package/lib/util/constants.js +1 -0
  73. package/lib/util/index.js +21 -6
  74. package/lib/util/sdp/index.js +30 -102
  75. package/lib/util/sdp/issue8329.js +2 -3
  76. package/lib/util/sdp/simulcast.js +6 -31
  77. package/lib/util/sdp/{trackmatcher/mid.js → trackmatcher.js} +6 -6
  78. package/package.json +3 -3
  79. package/tsconfig.json +1 -1
  80. package/tsdef/PreflightTypes.d.ts +6 -2
  81. package/tsdef/index.d.ts +2 -2
  82. package/tsdef/preflighttest.d.ts +1 -1
  83. package/tsdef/twilio-video-tests.ts +19 -0
  84. package/tsdef/types.d.ts +6 -1
  85. package/es5/util/sdp/trackmatcher/identity.js +0 -25
  86. package/es5/util/sdp/trackmatcher/identity.js.map +0 -1
  87. package/es5/util/sdp/trackmatcher/mid.js.map +0 -1
  88. package/es5/util/sdp/trackmatcher/ordered.js +0 -111
  89. package/es5/util/sdp/trackmatcher/ordered.js.map +0 -1
  90. package/lib/util/sdp/trackmatcher/identity.js +0 -24
  91. package/lib/util/sdp/trackmatcher/ordered.js +0 -120
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
29
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
30
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -68,6 +79,7 @@ var MovingAverageDelta = require('../util/movingaveragedelta');
68
79
  var EventObserver = require('../util/eventobserver');
69
80
  var InsightsPublisher = require('../util/insightspublisher');
70
81
  var _a = require('../util/sid'), createSID = _a.createSID, sessionSID = _a.sessionSID;
82
+ var _b = require('../util/twilio-video-errors'), SignalingConnectionTimeoutError = _b.SignalingConnectionTimeoutError, MediaConnectionError = _b.MediaConnectionError;
71
83
  var SECOND = 1000;
72
84
  var DEFAULT_TEST_DURATION = 10 * SECOND;
73
85
  /**
@@ -84,25 +96,25 @@ var PreflightProgress = {
84
96
  */
85
97
  connected: 'connected',
86
98
  /**
87
- * subscriberParticipant successfully subscribed to media tracks.
99
+ * SubscriberParticipant successfully subscribed to media tracks.
88
100
  */
89
101
  mediaSubscribed: 'mediaSubscribed',
90
102
  /**
91
- * media flow was detected.
103
+ * Media flow was detected.
92
104
  */
93
105
  mediaStarted: 'mediaStarted',
94
106
  /**
95
- * established DTLS connection. This is measured from RTCDtlsTransport `connecting` to `connected` state.
107
+ * Established DTLS connection. This is measured from RTCDtlsTransport `connecting` to `connected` state.
96
108
  * On Safari, Support for measuring this is missing, this event will be not be emitted on Safari.
97
109
  */
98
110
  dtlsConnected: 'dtlsConnected',
99
111
  /**
100
- * established a PeerConnection, This is measured from PeerConnection `connecting` to `connected` state.
112
+ * Established a PeerConnection, This is measured from PeerConnection `connecting` to `connected` state.
101
113
  * On Firefox, Support for measuring this is missing, this event will be not be emitted on Firefox.
102
114
  */
103
115
  peerConnectionConnected: 'peerConnectionConnected',
104
116
  /**
105
- * established ICE connection. This is measured from ICE connection `checking` to `connected` state.
117
+ * Established ICE connection. This is measured from ICE connection `checking` to `connected` state.
106
118
  */
107
119
  iceConnected: 'iceConnected'
108
120
  };
@@ -136,6 +148,7 @@ var PreflightTest = /** @class */ (function (_super) {
136
148
  _this._connectTiming = new timer_1.Timer();
137
149
  _this._sentBytesMovingAverage = new MovingAverageDelta();
138
150
  _this._packetLossMovingAverage = new MovingAverageDelta();
151
+ _this._progressEvents = [];
139
152
  _this._receivedBytesMovingAverage = new MovingAverageDelta();
140
153
  var internalOptions = options;
141
154
  var _a = internalOptions.environment, environment = _a === void 0 ? 'prod' : _a, _b = internalOptions.region, region = _b === void 0 ? 'gll' : _b, _c = internalOptions.duration, duration = _c === void 0 ? DEFAULT_TEST_DURATION : _c;
@@ -157,7 +170,7 @@ var PreflightTest = /** @class */ (function (_super) {
157
170
  PreflightTest.prototype.stop = function () {
158
171
  this._stopped = true;
159
172
  };
160
- PreflightTest.prototype._generatePreflightReport = function (collectedStats, error) {
173
+ PreflightTest.prototype._generatePreflightReport = function (collectedStats) {
161
174
  this._testTiming.stop();
162
175
  return {
163
176
  testTiming: this._testTiming.getTimeMeasurement(),
@@ -175,12 +188,12 @@ var PreflightTest = /** @class */ (function (_super) {
175
188
  },
176
189
  selectedIceCandidatePairStats: collectedStats ? collectedStats.selectedIceCandidatePairStats : null,
177
190
  iceCandidateStats: collectedStats ? collectedStats.iceCandidateStats : [],
191
+ progressEvents: this._progressEvents,
178
192
  // NOTE(mpatwardhan): internal properties.
179
- error: error === null || error === void 0 ? void 0 : error.toString(),
180
193
  mos: makestat_1.makeStat(collectedStats === null || collectedStats === void 0 ? void 0 : collectedStats.mos),
181
194
  };
182
195
  };
183
- PreflightTest.prototype._executePreflightStep = function (stepName, step) {
196
+ PreflightTest.prototype._executePreflightStep = function (stepName, step, timeoutError) {
184
197
  return __awaiter(this, void 0, void 0, function () {
185
198
  var MAX_STEP_DURATION, stepPromise, timer, timeoutPromise, result;
186
199
  return __generator(this, function (_a) {
@@ -195,7 +208,7 @@ var PreflightTest = /** @class */ (function (_super) {
195
208
  timer = null;
196
209
  timeoutPromise = new Promise(function (_resolve, reject) {
197
210
  timer = setTimeout(function () {
198
- reject(new Error("Timed out waiting for : " + stepName));
211
+ reject(timeoutError || new Error(stepName + " timeout."));
199
212
  }, MAX_STEP_DURATION);
200
213
  });
201
214
  _a.label = 1;
@@ -215,42 +228,51 @@ var PreflightTest = /** @class */ (function (_super) {
215
228
  });
216
229
  });
217
230
  };
218
- PreflightTest.prototype._trackNetworkTimings = function (pc) {
231
+ PreflightTest.prototype._collectNetworkTimings = function (pc) {
219
232
  var _this = this;
220
- pc.addEventListener('iceconnectionstatechange', function () {
221
- if (pc.iceConnectionState === 'checking') {
222
- _this._iceTiming.start();
223
- }
224
- if (pc.iceConnectionState === 'connected') {
225
- _this._iceTiming.stop();
226
- _this.emit('progress', PreflightProgress.iceConnected);
227
- }
228
- });
229
- // firefox does not support connectionstatechange.
230
- pc.addEventListener('connectionstatechange', function () {
231
- if (pc.connectionState === 'connecting') {
232
- _this._peerConnectionTiming.start();
233
- }
234
- if (pc.connectionState === 'connected') {
235
- _this._peerConnectionTiming.stop();
236
- _this.emit('progress', PreflightProgress.peerConnectionConnected);
237
- }
238
- });
239
- // Safari does not expose sender.transport.
240
- var senders = pc.getSenders();
241
- var transport = senders.map(function (sender) { return sender.transport; }).find(notEmpty);
242
- if (typeof transport !== 'undefined') {
243
- var dtlsTransport_1 = transport;
244
- dtlsTransport_1.addEventListener('statechange', function () {
245
- if (dtlsTransport_1.state === 'connecting') {
246
- _this._dtlsTiming.start();
233
+ return new Promise(function (resolve) {
234
+ var dtlsTransport;
235
+ pc.addEventListener('iceconnectionstatechange', function () {
236
+ if (pc.iceConnectionState === 'checking') {
237
+ _this._iceTiming.start();
247
238
  }
248
- if (dtlsTransport_1.state === 'connected') {
249
- _this._dtlsTiming.stop();
250
- _this.emit('progress', PreflightProgress.dtlsConnected);
239
+ if (pc.iceConnectionState === 'connected') {
240
+ _this._iceTiming.stop();
241
+ _this._updateProgress(PreflightProgress.iceConnected);
242
+ if (!dtlsTransport || dtlsTransport && dtlsTransport.state === 'connected') {
243
+ resolve();
244
+ }
251
245
  }
252
246
  });
253
- }
247
+ // firefox does not support connectionstatechange.
248
+ pc.addEventListener('connectionstatechange', function () {
249
+ if (pc.connectionState === 'connecting') {
250
+ _this._peerConnectionTiming.start();
251
+ }
252
+ if (pc.connectionState === 'connected') {
253
+ _this._peerConnectionTiming.stop();
254
+ _this._updateProgress(PreflightProgress.peerConnectionConnected);
255
+ }
256
+ });
257
+ // Safari does not expose sender.transport.
258
+ var senders = pc.getSenders();
259
+ var transport = senders.map(function (sender) { return sender.transport; }).find(notEmpty);
260
+ if (typeof transport !== 'undefined') {
261
+ dtlsTransport = transport;
262
+ dtlsTransport.addEventListener('statechange', function () {
263
+ if (dtlsTransport.state === 'connecting') {
264
+ _this._dtlsTiming.start();
265
+ }
266
+ if (dtlsTransport.state === 'connected') {
267
+ _this._dtlsTiming.stop();
268
+ _this._updateProgress(PreflightProgress.dtlsConnected);
269
+ if (pc.iceConnectionState === 'connected') {
270
+ resolve();
271
+ }
272
+ }
273
+ });
274
+ }
275
+ });
254
276
  };
255
277
  PreflightTest.prototype._setupInsights = function (_a) {
256
278
  var token = _a.token, _b = _a.environment, environment = _b === void 0 ? constants_1.DEFAULT_ENVIRONMENT : _b, _c = _a.realm, realm = _c === void 0 ? constants_1.DEFAULT_REALM : _c;
@@ -288,6 +310,7 @@ var PreflightTest = /** @class */ (function (_super) {
288
310
  payload: {
289
311
  sessionSID: sessionSID,
290
312
  preflightSID: createSID('PF'),
313
+ progressEvents: JSON.stringify(report.progressEvents),
291
314
  testTiming: report.testTiming,
292
315
  dtlsTiming: report.networkTiming.dtls,
293
316
  iceTiming: report.networkTiming.ice,
@@ -311,7 +334,7 @@ var PreflightTest = /** @class */ (function (_super) {
311
334
  };
312
335
  PreflightTest.prototype._runPreflightTest = function (token, environment, wsServer) {
313
336
  return __awaiter(this, void 0, void 0, function () {
314
- var localTracks, pcs, reportToInsights, elements_1, iceServers, senderPC_1, receiverPC_1, remoteTracks_1, collectedStats_1, report, error_1;
337
+ var localTracks, pcs, reportToInsights, elements_1, iceServers, senderPC_1, receiverPC_1, remoteTracks_1, collectedStats_1, report, error_1, preflightReport;
315
338
  var _this = this;
316
339
  return __generator(this, function (_a) {
317
340
  switch (_a.label) {
@@ -326,21 +349,21 @@ var PreflightTest = /** @class */ (function (_super) {
326
349
  return [4 /*yield*/, this._executePreflightStep('Acquire media', function () { return [syntheticaudio_1.syntheticAudio(), syntheticvideo_1.syntheticVideo({ width: 640, height: 480 })]; })];
327
350
  case 2:
328
351
  localTracks = _a.sent();
329
- this.emit('progress', PreflightProgress.mediaAcquired);
352
+ this._updateProgress(PreflightProgress.mediaAcquired);
330
353
  this.emit('debug', { localTracks: localTracks });
331
354
  this._connectTiming.start();
332
- return [4 /*yield*/, this._executePreflightStep('Get turn credentials', function () { return getturncredentials_1.getTurnCredentials(token, wsServer); })];
355
+ return [4 /*yield*/, this._executePreflightStep('Get turn credentials', function () { return getturncredentials_1.getTurnCredentials(token, wsServer); }, new SignalingConnectionTimeoutError())];
333
356
  case 3:
334
357
  iceServers = _a.sent();
335
358
  this._connectTiming.stop();
336
- this.emit('progress', PreflightProgress.connected);
359
+ this._updateProgress(PreflightProgress.connected);
337
360
  senderPC_1 = new RTCPeerConnection({ iceServers: iceServers, iceTransportPolicy: 'relay', bundlePolicy: 'max-bundle' });
338
361
  receiverPC_1 = new RTCPeerConnection({ iceServers: iceServers, bundlePolicy: 'max-bundle' });
339
362
  pcs.push(senderPC_1);
340
363
  pcs.push(receiverPC_1);
341
364
  this._mediaTiming.start();
342
365
  return [4 /*yield*/, this._executePreflightStep('Setup Peer Connections', function () { return __awaiter(_this, void 0, void 0, function () {
343
- var remoteTracksPromise, offer, updatedOffer, answer, updatedAnswer;
366
+ var remoteTracksPromise, offer, updatedOffer, answer;
344
367
  return __generator(this, function (_a) {
345
368
  switch (_a.label) {
346
369
  case 0:
@@ -369,18 +392,19 @@ var PreflightTest = /** @class */ (function (_super) {
369
392
  return [4 /*yield*/, receiverPC_1.createAnswer()];
370
393
  case 4:
371
394
  answer = _a.sent();
372
- updatedAnswer = answer;
373
- return [4 /*yield*/, receiverPC_1.setLocalDescription(updatedAnswer)];
395
+ return [4 /*yield*/, receiverPC_1.setLocalDescription(answer)];
374
396
  case 5:
375
397
  _a.sent();
376
- return [4 /*yield*/, senderPC_1.setRemoteDescription(updatedAnswer)];
398
+ return [4 /*yield*/, senderPC_1.setRemoteDescription(answer)];
377
399
  case 6:
378
400
  _a.sent();
379
- this._trackNetworkTimings(senderPC_1);
401
+ return [4 /*yield*/, this._collectNetworkTimings(senderPC_1)];
402
+ case 7:
403
+ _a.sent();
380
404
  return [2 /*return*/, remoteTracksPromise];
381
405
  }
382
406
  });
383
- }); })];
407
+ }); }, new MediaConnectionError())];
384
408
  case 4:
385
409
  remoteTracks_1 = _a.sent();
386
410
  this.emit('debug', { remoteTracks: remoteTracks_1 });
@@ -389,8 +413,8 @@ var PreflightTest = /** @class */ (function (_super) {
389
413
  track.addEventListener('mute', function () { return _this._log.warn(track.kind + ':muted'); });
390
414
  track.addEventListener('unmute', function () { return _this._log.warn(track.kind + ':unmuted'); });
391
415
  });
392
- this.emit('progress', PreflightProgress.mediaSubscribed);
393
- return [4 /*yield*/, this._executePreflightStep('wait for tracks to start', function () {
416
+ this._updateProgress(PreflightProgress.mediaSubscribed);
417
+ return [4 /*yield*/, this._executePreflightStep('Wait for tracks to start', function () {
394
418
  return new Promise(function (resolve) {
395
419
  var element = document.createElement('video');
396
420
  element.autoplay = true;
@@ -401,15 +425,15 @@ var PreflightTest = /** @class */ (function (_super) {
401
425
  _this.emit('debugElement', element);
402
426
  element.oncanplay = resolve;
403
427
  });
404
- })];
428
+ }, new MediaConnectionError())];
405
429
  case 5:
406
430
  _a.sent();
407
431
  this._mediaTiming.stop();
408
- this.emit('progress', PreflightProgress.mediaStarted);
409
- return [4 /*yield*/, this._executePreflightStep('collect stats for duration', function () { return _this._collectRTCStatsForDuration(_this._testDuration, initCollectedStats(), senderPC_1, receiverPC_1); })];
432
+ this._updateProgress(PreflightProgress.mediaStarted);
433
+ return [4 /*yield*/, this._executePreflightStep('Collect stats for duration', function () { return _this._collectRTCStatsForDuration(_this._testDuration, initCollectedStats(), senderPC_1, receiverPC_1); })];
410
434
  case 6:
411
435
  collectedStats_1 = _a.sent();
412
- return [4 /*yield*/, this._executePreflightStep('generate report', function () { return _this._generatePreflightReport(collectedStats_1); })];
436
+ return [4 /*yield*/, this._executePreflightStep('Generate report', function () { return _this._generatePreflightReport(collectedStats_1); })];
413
437
  case 7:
414
438
  report = _a.sent();
415
439
  reportToInsights({ report: report });
@@ -417,9 +441,9 @@ var PreflightTest = /** @class */ (function (_super) {
417
441
  return [3 /*break*/, 10];
418
442
  case 8:
419
443
  error_1 = _a.sent();
420
- // eslint-disable-next-line no-undefined
421
- reportToInsights({ report: this._generatePreflightReport(undefined, error_1) });
422
- this.emit('failed', error_1);
444
+ preflightReport = this._generatePreflightReport();
445
+ reportToInsights({ report: __assign(__assign({}, preflightReport), { error: error_1 === null || error_1 === void 0 ? void 0 : error_1.toString() }) });
446
+ this.emit('failed', error_1, preflightReport);
423
447
  return [3 /*break*/, 10];
424
448
  case 9:
425
449
  pcs.forEach(function (pc) { return pc.close(); });
@@ -491,6 +515,11 @@ var PreflightTest = /** @class */ (function (_super) {
491
515
  });
492
516
  });
493
517
  };
518
+ PreflightTest.prototype._updateProgress = function (name) {
519
+ var duration = Date.now() - this._testTiming.getTimeMeasurement().start;
520
+ this._progressEvents.push({ duration: duration, name: name });
521
+ this.emit('progress', name);
522
+ };
494
523
  return PreflightTest;
495
524
  }(EventEmitter));
496
525
  exports.PreflightTest = PreflightTest;
@@ -518,15 +547,15 @@ function initCollectedStats() {
518
547
  /**
519
548
  * Represents stats for a numerical metric.
520
549
  * @typedef {object} Stats
521
- * @property {number} [average] - average value observed.
522
- * @property {number} [max] - max value observed.
523
- * @property {number} [min] - min value observed.
550
+ * @property {number} [average] - Average value observed.
551
+ * @property {number} [max] - Max value observed.
552
+ * @property {number} [min] - Min value observed.
524
553
  */
525
554
  /**
526
555
  * Represents stats for a numerical metric.
527
556
  * @typedef {object} SelectedIceCandidatePairStats
528
- * @property {RTCIceCandidateStats} [localCandidate] - selected local ice candidate
529
- * @property {RTCIceCandidateStats} [remoteCandidate] - selected local ice candidate
557
+ * @property {RTCIceCandidateStats} [localCandidate] - Selected local ice candidate
558
+ * @property {RTCIceCandidateStats} [remoteCandidate] - Selected local ice candidate
530
559
  */
531
560
  /**
532
561
  * Represents RTC related stats that were observed during preflight test
@@ -535,6 +564,12 @@ function initCollectedStats() {
535
564
  * @property {Stats} [rtt] - Round trip time, to the server back to the client in milliseconds.
536
565
  * @property {Stats} [packetLoss] - Packet loss as a percent of total packets sent.
537
566
  */
567
+ /**
568
+ * A {@link PreflightProgress} event with timing information.
569
+ * @typedef {object} ProgressEvent
570
+ * @property {number} [duration] - The duration of the event, measured from the start of the test.
571
+ * @property {string} [name] - The {@link PreflightProgress} event name.
572
+ */
538
573
  /**
539
574
  * Represents report generated by {@link PreflightTest}.
540
575
  * @typedef {object} PreflightTestReport
@@ -542,7 +577,9 @@ function initCollectedStats() {
542
577
  * @property {NetworkTiming} [networkTiming] - Network related time measurements.
543
578
  * @property {PreflightReportStats} [stats] - RTC related stats captured during the test.
544
579
  * @property {Array<RTCIceCandidateStats>} [iceCandidateStats] - List of gathered ice candidates.
545
- * @property {SelectedIceCandidatePairStats} selectedIceCandidatePairStats - stats for the ice candidates that were used for the connection.
580
+ * @property {SelectedIceCandidatePairStats} selectedIceCandidatePairStats - Stats for the ice candidates that were used for the connection.
581
+ * @property {Array<ProgressEvent>} [progressEvents] - {@link ProgressEvent} events detected during the test.
582
+ * Use this information to determine which steps were completed and which ones were not.
546
583
  */
547
584
  /**
548
585
  * You may pass these options to {@link module:twilio-video.testPreflight} in order to override the
@@ -558,17 +595,20 @@ function initCollectedStats() {
558
595
  */
559
596
  /**
560
597
  * Preflight test has completed successfully.
561
- * @param {PreflightTestReport} report - results of the test.
598
+ * @param {PreflightTestReport} report - Results of the test.
562
599
  * @event PreflightTest#completed
563
600
  */
564
601
  /**
565
- * Preflight test has encountered a failed and is now stopped.
566
- * @param {TwilioError|Error} error - error object
602
+ * Preflight test has encountered a failure and is now stopped.
603
+ * @param {TwilioError|Error} error - A TwilioError or a DOMException.
604
+ * Possible TwilioErrors include Signaling and Media related errors which can be found
605
+ * <a href="https://www.twilio.com/docs/video/build-js-video-application-recommendations-and-best-practices#connection-errors" target="_blank">here</a>.
606
+ * @param {PreflightTestReport} report - Partial results gathered during the test. Use this information to help determine the cause of failure.
567
607
  * @event PreflightTest#failed
568
608
  */
569
609
  /**
570
610
  * Emitted to indicate progress of the test
571
- * @param {PreflightProgress} progress - indicates the status completed.
611
+ * @param {PreflightProgress} progress - Indicates the status completed.
572
612
  * @event PreflightTest#progress
573
613
  */
574
614
  /**
@@ -577,17 +617,17 @@ function initCollectedStats() {
577
617
  * @description Run a preflight test. This method will start a test to check the quality of network connection.
578
618
  * @memberof module:twilio-video
579
619
  * @param {string} token - The Access Token string
580
- * @param {PreflightOptions} options - options for the test
581
- * @returns {PreflightTest} preflightTest - an instance to be used to monitor progress of the test.
620
+ * @param {PreflightOptions} options - Options for the test
621
+ * @returns {PreflightTest} preflightTest - An instance to be used to monitor progress of the test.
582
622
  * @example
583
623
  * var { runPreflight } = require('twilio-video');
584
- * var preflight = runPreflight();
624
+ * var preflight = runPreflight(token, preflightOptions);
585
625
  * preflightTest.on('progress', progress => {
586
626
  * console.log('preflight progress:', progress);
587
627
  * });
588
628
  *
589
- * preflightTest.on('failed', error => {
590
- * console.error('preflight error:', error);
629
+ * preflightTest.on('failed', (error, report) => {
630
+ * console.error('preflight error:', error, report);
591
631
  * });
592
632
  *
593
633
  * preflightTest.on('completed', report => {
@@ -1 +1 @@
1
- {"version":3,"file":"preflighttest.js","sourceRoot":"","sources":["../../lib/preflight/preflighttest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflighttest.js","sourceRoot":"","sources":["../../lib/preflight/preflighttest.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ function createCancelableRoomSignalingPromise(token, wsServer, localParticipant,
11
11
  RoomV2: DefaultRoomV2,
12
12
  Transport: DefaultTransport
13
13
  }, options);
14
+ var adaptiveSimulcast = preferredCodecs.video[0] && preferredCodecs.video[0].adaptiveSimulcast === true;
14
15
  var PeerConnectionManager = options.PeerConnectionManager, RoomV2 = options.RoomV2, Transport = options.Transport, iceServers = options.iceServers, log = options.log;
15
16
  var peerConnectionManager = new PeerConnectionManager(encodingParameters, preferredCodecs, options);
16
17
  var trackSenders = flatMap(localParticipant.tracks, function (trackV2) { return [trackV2.trackTransceiver]; });
@@ -51,6 +52,7 @@ function createCancelableRoomSignalingPromise(token, wsServer, localParticipant,
51
52
  var renderHints = !!bandwidthProfile &&
52
53
  (options.clientTrackSwitchOffControl !== 'disabled' || options.contentPreferencesMode !== 'disabled');
53
54
  var transportOptions = Object.assign({
55
+ adaptiveSimulcast: adaptiveSimulcast,
54
56
  automaticSubscription: automaticSubscription,
55
57
  dominantSpeaker: dominantSpeaker,
56
58
  environment: environment,
@@ -1 +1 @@
1
- {"version":3,"file":"cancelableroomsignalingpromise.js","sourceRoot":"","sources":["../../../lib/signaling/v2/cancelableroomsignalingpromise.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,IAAM,iBAAiB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAClE,IAAM,4BAA4B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACxE,IAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,IAAM,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE1D,IAAA,KAGF,OAAO,CAAC,gCAAgC,CAAC,EAF3C,oCAAoC,0CAAA,EACpC,oCAAoC,0CACO,CAAC;AAExC,IAAA,KAA6C,OAAO,CAAC,YAAY,CAAC,EAAhE,OAAO,aAAA,EAAE,6BAA6B,mCAA0B,CAAC;AAEzE,SAAS,oCAAoC,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO;IAC3H,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACtB,qBAAqB,EAAE,4BAA4B;QACnD,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,gBAAgB;KAC5B,EAAE,OAAO,CAAC,CAAC;IAEJ,IAAA,qBAAqB,GAAyC,OAAO,sBAAhD,EAAE,MAAM,GAAiC,OAAO,OAAxC,EAAE,SAAS,GAAsB,OAAO,UAA7B,EAAE,UAAU,GAAU,OAAO,WAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAa;IAC9E,IAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,kBAAkB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACtG,IAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAA,OAAO,IAAI,OAAA,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAA1B,CAA0B,CAAC,CAAC;IAC7F,qBAAqB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,SAAS,CAAC;IAEd,IAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,UAAC,OAAO,EAAE,MAAM,EAAE,UAAU;QAC1E,IAAM,MAAM,GAAG,UAAA,UAAU;YACvB,IAAI,UAAU,EAAE,EAAE;gBAChB,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;aAC1C;YACD,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;YAChC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEhD,OAAO,qBAAqB,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;gBACjD,IAAI,UAAU,EAAE,EAAE;oBAChB,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBAC1B,MAAM,iBAAiB,CAAC;iBACzB;gBACD,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACzC,sEAAsE;gBACtE,oEAAoE;gBACpE,qEAAqE;gBACrE,yCAAyC;gBACzC,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK;gBACZ,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAGA,IAAA,qBAAqB,GAYnB,OAAO,sBAZY,EACrB,gBAAgB,GAWd,OAAO,iBAXO,EAChB,eAAe,GAUb,OAAO,gBAVM,EACf,WAAW,GAST,OAAO,YATE,EACX,aAAa,GAQX,OAAO,cARI,EACb,UAAU,GAOR,OAAO,WAPC,EACV,QAAQ,GAMN,OAAO,SAND,EACR,IAAI,GAKF,OAAO,KALL,EACJ,cAAc,GAIZ,OAAO,eAJK,EACd,cAAc,GAGZ,OAAO,eAHK,EACd,KAAK,GAEH,OAAO,MAFJ,EACL,YAAY,GACV,OAAO,aADG,CACF;QAEZ,uCAAuC;QACvC,kCAAkC;QAClC,IAAM,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAC;QACzC,IAAM,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC;QAC1C,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB;YACpC,CAAC,OAAO,CAAC,2BAA2B,KAAK,UAAU,IAAI,OAAO,CAAC,sBAAsB,KAAK,UAAU,CAAC,CAAC;QAExG,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;YACrC,qBAAqB,uBAAA;YACrB,eAAe,iBAAA;YACf,WAAW,aAAA;YACX,aAAa,eAAA;YACb,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,cAAc,gBAAA;YACd,cAAc,gBAAA;YACd,UAAU,YAAA;YACV,MAAM,QAAA;YACN,KAAK,OAAA;YACL,WAAW,aAAA;YACX,YAAY,cAAA;YACZ,aAAa,eAAA;YACb,cAAc,gBAAA;SACf,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACpB,gBAAgB,kBAAA;SACjB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAER,SAAS,GAAG,IAAI,SAAS,CACvB,IAAI,EACJ,KAAK,EACL,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,CAAC,CAAC;QAEpB,IAAM,mBAAmB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACnE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAEjD,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAA,YAAY;YACtC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,UAAU,EAAE,EAAE;gBAChB,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC1B,OAAO;aACR;YACO,IAAa,qBAAqB,GAAK,YAAY,YAAjB,CAAkB;YAC5D,IAAI,CAAC,qBAAqB,EAAE;gBAC1B,MAAM,CAAC,IAAI,oCAAoC,EAAE,CAAC,CAAC;gBACnD,OAAO;aACR;YAEkB,IAAkB,eAAe,GAAO,YAAY,yBAAnB,CAAoB;YACxE,gBAAgB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,KAAK,EAAE,KAAK;YAC1C,IAAI,KAAK,KAAK,cAAc,EAAE;gBAC5B,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,KAAK,IAAI,IAAI,oCAAoC,EAAE,CAAC,CAAC;aAC7D;iBAAM;gBACL,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE;QACD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,KAAK,CAAC;QACtB,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;SAClB;QACD,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"cancelableroomsignalingpromise.js","sourceRoot":"","sources":["../../../lib/signaling/v2/cancelableroomsignalingpromise.js"],"names":[],"mappings":"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"}
@@ -41,13 +41,6 @@ var IceConnectionMonitor = /** @class */ (function () {
41
41
  }
42
42
  IceConnectionMonitor.prototype._getActivePairStat = function (stats) {
43
43
  var statsArray = Array.from(stats.values());
44
- var hasInBoundTracks = statsArray.find(function (stat) { return stat.type === 'inbound-rtp'; });
45
- if (!hasInBoundTracks) {
46
- // NOTE(mpatwardhan): when there are no tracks shared on a peerConnection
47
- // we may see inactivity on bytesReceived - but that is not real inactivity,
48
- // ignore it.
49
- return null;
50
- }
51
44
  var activePairStats = statsArray.find(function (stat) { return stat.type === 'candidate-pair' && stat.nominated; });
52
45
  // NOTE(mpatwardhan): sometimes (JSDK-2667) after getting disconnected while switching network
53
46
  // we may not find active pair. Treat this as 0 bytesReceived so that we count it towards inactivity.
@@ -101,6 +94,9 @@ var IceConnectionMonitor = /** @class */ (function () {
101
94
  if (!iceStats) {
102
95
  return;
103
96
  }
97
+ // NOTE(mpatwardhan): We look at bytesReceived on active candidate pair as an indication of active ice connection.
98
+ // As per spec (https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-bytesreceived) this value
99
+ // includes RTCP traffic and is +ve even when there are no tracks subscribed to.
104
100
  if (!_this._lastActivity || _this._lastActivity.bytesReceived !== iceStats.bytesReceived) {
105
101
  _this._lastActivity = iceStats;
106
102
  // detected activity, cancel scheduled callback if any.
@@ -1 +1 @@
1
- {"version":3,"file":"iceconnectionmonitor.js","sourceRoot":"","sources":["../../../lib/signaling/v2/iceconnectionmonitor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iceconnectionmonitor.js","sourceRoot":"","sources":["../../../lib/signaling/v2/iceconnectionmonitor.js"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  var LocalParticipantSignaling = require('../localparticipant');
18
18
  var LocalTrackPublicationV2 = require('./localtrackpublication');
19
- var isDeepEqual = require('../../util').isDeepEqual;
19
+ var DEFAULT_LOG_LEVEL = require('../../util/constants').DEFAULT_LOG_LEVEL;
20
+ var Log = require('../../util/log');
21
+ var _a = require('../../util'), buildLogLevels = _a.buildLogLevels, isDeepEqual = _a.isDeepEqual;
20
22
  /**
21
23
  * @extends ParticipantSignaling
22
24
  * @property {BandwidthProfileOptions} bandwidthProfile
@@ -35,9 +37,11 @@ var LocalParticipantV2 = /** @class */ (function (_super) {
35
37
  function LocalParticipantV2(encodingParameters, networkQualityConfiguration, options) {
36
38
  var _this = this;
37
39
  options = Object.assign({
40
+ logLevel: DEFAULT_LOG_LEVEL,
38
41
  LocalTrackPublicationV2: LocalTrackPublicationV2
39
42
  }, options);
40
43
  _this = _super.call(this) || this;
44
+ var logLevels = buildLogLevels(options.logLevel);
41
45
  Object.defineProperties(_this, {
42
46
  _bandwidthProfile: {
43
47
  value: null,
@@ -56,6 +60,11 @@ var LocalParticipantV2 = /** @class */ (function (_super) {
56
60
  _LocalTrackPublicationV2: {
57
61
  value: options.LocalTrackPublicationV2
58
62
  },
63
+ _log: {
64
+ value: options.log
65
+ ? options.log.createLog('default', _this)
66
+ : new Log('default', _this, logLevels, options.loggerName)
67
+ },
59
68
  _publishedRevision: {
60
69
  writable: true,
61
70
  value: 0
@@ -99,6 +108,9 @@ var LocalParticipantV2 = /** @class */ (function (_super) {
99
108
  });
100
109
  return _this;
101
110
  }
111
+ LocalParticipantV2.prototype.toString = function () {
112
+ return "[LocalParticipantSignaling: " + this.sid + "]";
113
+ };
102
114
  /**
103
115
  * Set the signalingRegion.
104
116
  * @param {string} signalingRegion.
@@ -122,6 +134,13 @@ var LocalParticipantV2 = /** @class */ (function (_super) {
122
134
  this.didUpdate();
123
135
  }
124
136
  };
137
+ /**
138
+ * returns current {@link EncodingParametersImpl}.
139
+ * @returns {EncodingParametersImpl}
140
+ */
141
+ LocalParticipantV2.prototype.getParameters = function () {
142
+ return this._encodingParameters;
143
+ };
125
144
  /**
126
145
  * Set the {@link EncodingParameters}.
127
146
  * @param {?EncodingParameters} encodingParameters
@@ -242,6 +261,21 @@ var LocalParticipantV2 = /** @class */ (function (_super) {
242
261
  LocalParticipantV2.prototype.setNetworkQualityConfiguration = function (networkQualityConfiguration) {
243
262
  this.networkQualityConfiguration.update(networkQualityConfiguration);
244
263
  };
264
+ /**
265
+ * updates encodings for simulcast layers.
266
+ * @param {Track.SID} trackSid
267
+ * @param {Array<{enabled: boolean, layer_index: number}>} encodings
268
+ * @returns {Promise<string>} string indicating result of the operation. can be one of
269
+ * "OK", "INVALID_HINT", "COULD_NOT_APPLY_HINT", "UNKNOWN_TRACK"
270
+ */
271
+ LocalParticipantV2.prototype.setPublisherHint = function (trackSid, encodings) {
272
+ var trackSignaling = Array.from(this.tracks.values()).find(function (trackPub) { return trackPub.sid === trackSid; });
273
+ if (!trackSignaling) {
274
+ this._log.warn("track:" + trackSid + " not found");
275
+ return Promise.resolve('UNKNOWN_TRACK');
276
+ }
277
+ return trackSignaling.trackTransceiver.setPublisherHint(encodings);
278
+ };
245
279
  return LocalParticipantV2;
246
280
  }(LocalParticipantSignaling));
247
281
  /**