mediasoup-client 3.6.92 → 3.6.94

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/lib/Device.js CHANGED
@@ -44,7 +44,6 @@ const ReactNativeUnifiedPlan_1 = require("./handlers/ReactNativeUnifiedPlan");
44
44
  const ReactNative_1 = require("./handlers/ReactNative");
45
45
  const logger = new Logger_1.Logger('Device');
46
46
  function detectDevice() {
47
- var _a, _b, _c, _d, _e, _f, _g, _h;
48
47
  // React-Native.
49
48
  // NOTE: react-native-webrtc >= 1.75.0 is required.
50
49
  // NOTE: react-native-webrtc with Unified Plan requires version >= 106.0.0.
@@ -69,13 +68,13 @@ function detectDevice() {
69
68
  const uaParser = new ua_parser_js_1.UAParser(ua);
70
69
  logger.debug('detectDevice() | browser detected [ua:%s, parsed:%o]', ua, uaParser.getResult());
71
70
  const browser = uaParser.getBrowser();
72
- const browserName = (_b = (_a = browser.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
73
- const browserVersion = parseInt((_c = browser.major) !== null && _c !== void 0 ? _c : '0');
71
+ const browserName = browser.name?.toLowerCase() ?? '';
72
+ const browserVersion = parseInt(browser.major ?? '0');
74
73
  const engine = uaParser.getEngine();
75
- const engineName = (_e = (_d = engine.name) === null || _d === void 0 ? void 0 : _d.toLowerCase()) !== null && _e !== void 0 ? _e : '';
74
+ const engineName = engine.name?.toLowerCase() ?? '';
76
75
  const os = uaParser.getOS();
77
- const osName = (_g = (_f = os.name) === null || _f === void 0 ? void 0 : _f.toLowerCase()) !== null && _g !== void 0 ? _g : '';
78
- const osVersion = parseFloat((_h = os.version) !== null && _h !== void 0 ? _h : '0');
76
+ const osName = os.name?.toLowerCase() ?? '';
77
+ const osVersion = parseFloat(os.version ?? '0');
79
78
  const isIOS = osName === 'ios';
80
79
  const isChrome = [
81
80
  'chrome',
package/lib/Transport.js CHANGED
@@ -219,7 +219,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
219
219
  throw new TypeError('missing iceParameters');
220
220
  }
221
221
  // Enqueue command.
222
- return this._awaitQueue.push(async () => this._handler.restartIce(iceParameters), 'transport.restartIce()');
222
+ return this._awaitQueue.push(async () => await this._handler.restartIce(iceParameters), 'transport.restartIce()');
223
223
  }
224
224
  /**
225
225
  * Update ICE servers.
@@ -715,31 +715,31 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
715
715
  if (this._closed) {
716
716
  return;
717
717
  }
718
- this._awaitQueue.push(async () => this._handler.stopSending(producer.localId), 'producer @close event')
718
+ this._awaitQueue.push(async () => await this._handler.stopSending(producer.localId), 'producer @close event')
719
719
  .catch((error) => logger.warn('producer.close() failed:%o', error));
720
720
  });
721
721
  producer.on('@pause', (callback, errback) => {
722
- this._awaitQueue.push(async () => this._handler.pauseSending(producer.localId), 'producer @pause event')
722
+ this._awaitQueue.push(async () => await this._handler.pauseSending(producer.localId), 'producer @pause event')
723
723
  .then(callback)
724
724
  .catch(errback);
725
725
  });
726
726
  producer.on('@resume', (callback, errback) => {
727
- this._awaitQueue.push(async () => this._handler.resumeSending(producer.localId), 'producer @resume event')
727
+ this._awaitQueue.push(async () => await this._handler.resumeSending(producer.localId), 'producer @resume event')
728
728
  .then(callback)
729
729
  .catch(errback);
730
730
  });
731
731
  producer.on('@replacetrack', (track, callback, errback) => {
732
- this._awaitQueue.push(async () => this._handler.replaceTrack(producer.localId, track), 'producer @replacetrack event')
732
+ this._awaitQueue.push(async () => await this._handler.replaceTrack(producer.localId, track), 'producer @replacetrack event')
733
733
  .then(callback)
734
734
  .catch(errback);
735
735
  });
736
736
  producer.on('@setmaxspatiallayer', (spatialLayer, callback, errback) => {
737
- this._awaitQueue.push(async () => (this._handler.setMaxSpatialLayer(producer.localId, spatialLayer)), 'producer @setmaxspatiallayer event')
737
+ this._awaitQueue.push(async () => (await this._handler.setMaxSpatialLayer(producer.localId, spatialLayer)), 'producer @setmaxspatiallayer event')
738
738
  .then(callback)
739
739
  .catch(errback);
740
740
  });
741
741
  producer.on('@setrtpencodingparameters', (params, callback, errback) => {
742
- this._awaitQueue.push(async () => (this._handler.setRtpEncodingParameters(producer.localId, params)), 'producer @setrtpencodingparameters event')
742
+ this._awaitQueue.push(async () => (await this._handler.setRtpEncodingParameters(producer.localId, params)), 'producer @setrtpencodingparameters event')
743
743
  .then(callback)
744
744
  .catch(errback);
745
745
  });
@@ -3,6 +3,7 @@ import { IceParameters } from '../Transport';
3
3
  import { RtpCapabilities } from '../RtpParameters';
4
4
  import { SctpCapabilities } from '../SctpParameters';
5
5
  export declare class Chrome111 extends HandlerInterface {
6
+ private _closed;
6
7
  private _direction?;
7
8
  private _remoteSdp?;
8
9
  private _sendingRtpParametersByKind?;
@@ -43,6 +44,7 @@ export declare class Chrome111 extends HandlerInterface {
43
44
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
44
45
  receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
45
46
  private setupTransport;
47
+ private assertNotClosed;
46
48
  private assertSendDirection;
47
49
  private assertRecvDirection;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome111.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome111.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome111.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome111.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,SAAU,SAAQ,gBAAgB;IAG9C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAG7E,OAAO,CAAC,oBAAoB,CAAC,CAAW;IAExC,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACxB;IAEX,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAqBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAyCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IAmFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAO5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAmJvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAyBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAexD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAuElC,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmG7B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6ChD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAe1D,kBAAkB,CACvB,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gCAAgC,GACzE,OAAO,CAAC,+BAA+B,CAAC;YAiE7B,cAAc;IAyC5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;CAQ3B"}
@@ -31,6 +31,7 @@ const ortc = __importStar(require("../ortc"));
31
31
  const sdpCommonUtils = __importStar(require("./sdp/commonUtils"));
32
32
  const sdpUnifiedPlanUtils = __importStar(require("./sdp/unifiedPlanUtils"));
33
33
  const ortcUtils = __importStar(require("./ortc/utils"));
34
+ const errors_1 = require("../errors");
34
35
  const HandlerInterface_1 = require("./HandlerInterface");
35
36
  const RemoteSdp_1 = require("./sdp/RemoteSdp");
36
37
  const scalabilityModes_1 = require("../scalabilityModes");
@@ -45,6 +46,8 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
45
46
  }
46
47
  constructor() {
47
48
  super();
49
+ // Closed flag.
50
+ this._closed = false;
48
51
  // Map of RTCTransceivers indexed by MID.
49
52
  this._mapMidTransceiver = new Map();
50
53
  // Local stream for sending.
@@ -61,6 +64,10 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
61
64
  }
62
65
  close() {
63
66
  logger.debug('close()');
67
+ if (this._closed) {
68
+ return;
69
+ }
70
+ this._closed = true;
64
71
  // Close RTCPeerConnection.
65
72
  if (this._pc) {
66
73
  try {
@@ -108,6 +115,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
108
115
  };
109
116
  }
110
117
  run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }) {
118
+ this.assertNotClosed();
111
119
  logger.debug('run()');
112
120
  this._direction = direction;
113
121
  this._remoteSdp = new RemoteSdp_1.RemoteSdp({
@@ -169,12 +177,14 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
169
177
  }
170
178
  }
171
179
  async updateIceServers(iceServers) {
180
+ this.assertNotClosed();
172
181
  logger.debug('updateIceServers()');
173
182
  const configuration = this._pc.getConfiguration();
174
183
  configuration.iceServers = iceServers;
175
184
  this._pc.setConfiguration(configuration);
176
185
  }
177
186
  async restartIce(iceParameters) {
187
+ this.assertNotClosed();
178
188
  logger.debug('restartIce()');
179
189
  // Provide the remote SDP handler with new remote ICE parameters.
180
190
  this._remoteSdp.updateIceParameters(iceParameters);
@@ -199,10 +209,11 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
199
209
  }
200
210
  }
201
211
  async getTransportStats() {
212
+ this.assertNotClosed();
202
213
  return this._pc.getStats();
203
214
  }
204
215
  async send({ track, encodings, codecOptions, codec }) {
205
- var _a;
216
+ this.assertNotClosed();
206
217
  this.assertSendDirection();
207
218
  logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
208
219
  if (encodings && encodings.length > 1) {
@@ -247,7 +258,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
247
258
  let localSdpObject = sdpTransform.parse(offer.sdp);
248
259
  if (!this._transportReady) {
249
260
  await this.setupTransport({
250
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
261
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
251
262
  localSdpObject
252
263
  });
253
264
  }
@@ -300,6 +311,9 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
300
311
  async stopSending(localId) {
301
312
  this.assertSendDirection();
302
313
  logger.debug('stopSending() [localId:%s]', localId);
314
+ if (this._closed) {
315
+ return;
316
+ }
303
317
  const transceiver = this._mapMidTransceiver.get(localId);
304
318
  if (!transceiver) {
305
319
  throw new Error('associated RTCRtpTransceiver not found');
@@ -322,6 +336,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
322
336
  this._mapMidTransceiver.delete(localId);
323
337
  }
324
338
  async pauseSending(localId) {
339
+ this.assertNotClosed();
325
340
  this.assertSendDirection();
326
341
  logger.debug('pauseSending() [localId:%s]', localId);
327
342
  const transceiver = this._mapMidTransceiver.get(localId);
@@ -338,6 +353,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
338
353
  await this._pc.setRemoteDescription(answer);
339
354
  }
340
355
  async resumeSending(localId) {
356
+ this.assertNotClosed();
341
357
  this.assertSendDirection();
342
358
  logger.debug('resumeSending() [localId:%s]', localId);
343
359
  const transceiver = this._mapMidTransceiver.get(localId);
@@ -354,6 +370,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
354
370
  await this._pc.setRemoteDescription(answer);
355
371
  }
356
372
  async replaceTrack(localId, track) {
373
+ this.assertNotClosed();
357
374
  this.assertSendDirection();
358
375
  if (track) {
359
376
  logger.debug('replaceTrack() [localId:%s, track.id:%s]', localId, track.id);
@@ -368,6 +385,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
368
385
  await transceiver.sender.replaceTrack(track);
369
386
  }
370
387
  async setMaxSpatialLayer(localId, spatialLayer) {
388
+ this.assertNotClosed();
371
389
  this.assertSendDirection();
372
390
  logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
373
391
  const transceiver = this._mapMidTransceiver.get(localId);
@@ -393,6 +411,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
393
411
  await this._pc.setRemoteDescription(answer);
394
412
  }
395
413
  async setRtpEncodingParameters(localId, params) {
414
+ this.assertNotClosed();
396
415
  this.assertSendDirection();
397
416
  logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
398
417
  const transceiver = this._mapMidTransceiver.get(localId);
@@ -413,6 +432,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
413
432
  await this._pc.setRemoteDescription(answer);
414
433
  }
415
434
  async getSenderStats(localId) {
435
+ this.assertNotClosed();
416
436
  this.assertSendDirection();
417
437
  const transceiver = this._mapMidTransceiver.get(localId);
418
438
  if (!transceiver) {
@@ -421,7 +441,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
421
441
  return transceiver.sender.getStats();
422
442
  }
423
443
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
424
- var _a;
444
+ this.assertNotClosed();
425
445
  this.assertSendDirection();
426
446
  const options = {
427
447
  negotiated: true,
@@ -445,7 +465,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
445
465
  .find((m) => m.type === 'application');
446
466
  if (!this._transportReady) {
447
467
  await this.setupTransport({
448
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
468
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
449
469
  localSdpObject
450
470
  });
451
471
  }
@@ -466,7 +486,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
466
486
  return { dataChannel, sctpStreamParameters };
467
487
  }
468
488
  async receive(optionsList) {
469
- var _a;
489
+ this.assertNotClosed();
470
490
  this.assertRecvDirection();
471
491
  const results = [];
472
492
  const mapLocalId = new Map();
@@ -503,7 +523,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
503
523
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
504
524
  if (!this._transportReady) {
505
525
  await this.setupTransport({
506
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
526
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
507
527
  localSdpObject
508
528
  });
509
529
  }
@@ -531,6 +551,9 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
531
551
  }
532
552
  async stopReceiving(localIds) {
533
553
  this.assertRecvDirection();
554
+ if (this._closed) {
555
+ return;
556
+ }
534
557
  for (const localId of localIds) {
535
558
  logger.debug('stopReceiving() [localId:%s]', localId);
536
559
  const transceiver = this._mapMidTransceiver.get(localId);
@@ -550,6 +573,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
550
573
  }
551
574
  }
552
575
  async pauseReceiving(localIds) {
576
+ this.assertNotClosed();
553
577
  this.assertRecvDirection();
554
578
  for (const localId of localIds) {
555
579
  logger.debug('pauseReceiving() [localId:%s]', localId);
@@ -568,6 +592,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
568
592
  await this._pc.setLocalDescription(answer);
569
593
  }
570
594
  async resumeReceiving(localIds) {
595
+ this.assertNotClosed();
571
596
  this.assertRecvDirection();
572
597
  for (const localId of localIds) {
573
598
  logger.debug('resumeReceiving() [localId:%s]', localId);
@@ -586,6 +611,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
586
611
  await this._pc.setLocalDescription(answer);
587
612
  }
588
613
  async getReceiverStats(localId) {
614
+ this.assertNotClosed();
589
615
  this.assertRecvDirection();
590
616
  const transceiver = this._mapMidTransceiver.get(localId);
591
617
  if (!transceiver) {
@@ -594,7 +620,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
594
620
  return transceiver.receiver.getStats();
595
621
  }
596
622
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
597
- var _a;
623
+ this.assertNotClosed();
598
624
  this.assertRecvDirection();
599
625
  const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
600
626
  const options = {
@@ -618,7 +644,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
618
644
  if (!this._transportReady) {
619
645
  const localSdpObject = sdpTransform.parse(answer.sdp);
620
646
  await this.setupTransport({
621
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
647
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
622
648
  localSdpObject
623
649
  });
624
650
  }
@@ -644,6 +670,11 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
644
670
  });
645
671
  this._transportReady = true;
646
672
  }
673
+ assertNotClosed() {
674
+ if (this._closed) {
675
+ throw new errors_1.InvalidStateError('method called in a closed handler');
676
+ }
677
+ }
647
678
  assertSendDirection() {
648
679
  if (this._direction !== 'send') {
649
680
  throw new Error('method can just be called for handlers with "send" direction');
@@ -206,7 +206,6 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
206
206
  return this._pc.getStats();
207
207
  }
208
208
  async send({ track, encodings, codecOptions, codec }) {
209
- var _a;
210
209
  this.assertSendDirection();
211
210
  logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
212
211
  if (codec) {
@@ -225,7 +224,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
225
224
  ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
226
225
  if (!this._transportReady) {
227
226
  await this.setupTransport({
228
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
227
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
229
228
  localSdpObject
230
229
  });
231
230
  }
@@ -342,7 +341,6 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
342
341
  throw new errors_1.UnsupportedError('not implemented');
343
342
  }
344
343
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
345
- var _a;
346
344
  this.assertSendDirection();
347
345
  const options = {
348
346
  negotiated: true,
@@ -367,7 +365,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
367
365
  .find((m) => m.type === 'application');
368
366
  if (!this._transportReady) {
369
367
  await this.setupTransport({
370
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
368
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
371
369
  localSdpObject
372
370
  });
373
371
  }
@@ -388,7 +386,6 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
388
386
  return { dataChannel, sctpStreamParameters };
389
387
  }
390
388
  async receive(optionsList) {
391
- var _a;
392
389
  this.assertRecvDirection();
393
390
  const results = [];
394
391
  for (const options of optionsList) {
@@ -423,7 +420,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
423
420
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
424
421
  if (!this._transportReady) {
425
422
  await this.setupTransport({
426
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
423
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
427
424
  localSdpObject
428
425
  });
429
426
  }
@@ -477,7 +474,6 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
477
474
  throw new errors_1.UnsupportedError('not implemented');
478
475
  }
479
476
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
480
- var _a;
481
477
  this.assertRecvDirection();
482
478
  const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
483
479
  const options = {
@@ -502,7 +498,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
502
498
  if (!this._transportReady) {
503
499
  const localSdpObject = sdpTransform.parse(answer.sdp);
504
500
  await this.setupTransport({
505
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
501
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
506
502
  localSdpObject
507
503
  });
508
504
  }
@@ -205,7 +205,6 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
205
205
  return this._pc.getStats();
206
206
  }
207
207
  async send({ track, encodings, codecOptions, codec }) {
208
- var _a;
209
208
  this.assertSendDirection();
210
209
  logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
211
210
  if (codec) {
@@ -224,7 +223,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
224
223
  ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
225
224
  if (!this._transportReady) {
226
225
  await this.setupTransport({
227
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
226
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
228
227
  localSdpObject
229
228
  });
230
229
  }
@@ -392,7 +391,6 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
392
391
  return rtpSender.getStats();
393
392
  }
394
393
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
395
- var _a;
396
394
  this.assertSendDirection();
397
395
  const options = {
398
396
  negotiated: true,
@@ -417,7 +415,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
417
415
  .find((m) => m.type === 'application');
418
416
  if (!this._transportReady) {
419
417
  await this.setupTransport({
420
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
418
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
421
419
  localSdpObject
422
420
  });
423
421
  }
@@ -438,7 +436,6 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
438
436
  return { dataChannel, sctpStreamParameters };
439
437
  }
440
438
  async receive(optionsList) {
441
- var _a;
442
439
  this.assertRecvDirection();
443
440
  const results = [];
444
441
  for (const options of optionsList) {
@@ -473,7 +470,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
473
470
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
474
471
  if (!this._transportReady) {
475
472
  await this.setupTransport({
476
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
473
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
477
474
  localSdpObject
478
475
  });
479
476
  }
@@ -533,7 +530,6 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
533
530
  return rtpReceiver.getStats();
534
531
  }
535
532
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
536
- var _a;
537
533
  this.assertRecvDirection();
538
534
  const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
539
535
  const options = {
@@ -558,7 +554,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
558
554
  if (!this._transportReady) {
559
555
  const localSdpObject = sdpTransform.parse(answer.sdp);
560
556
  await this.setupTransport({
561
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
557
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
562
558
  localSdpObject
563
559
  });
564
560
  }
@@ -199,7 +199,6 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
199
199
  return this._pc.getStats();
200
200
  }
201
201
  async send({ track, encodings, codecOptions, codec }) {
202
- var _a;
203
202
  this.assertSendDirection();
204
203
  logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
205
204
  const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind], {});
@@ -217,7 +216,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
217
216
  let offerMediaObject;
218
217
  if (!this._transportReady) {
219
218
  await this.setupTransport({
220
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
219
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
221
220
  localSdpObject
222
221
  });
223
222
  }
@@ -416,7 +415,6 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
416
415
  return transceiver.sender.getStats();
417
416
  }
418
417
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
419
- var _a;
420
418
  this.assertSendDirection();
421
419
  const options = {
422
420
  negotiated: true,
@@ -441,7 +439,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
441
439
  .find((m) => m.type === 'application');
442
440
  if (!this._transportReady) {
443
441
  await this.setupTransport({
444
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
442
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
445
443
  localSdpObject
446
444
  });
447
445
  }
@@ -462,7 +460,6 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
462
460
  return { dataChannel, sctpStreamParameters };
463
461
  }
464
462
  async receive(optionsList) {
465
- var _a;
466
463
  this.assertRecvDirection();
467
464
  const results = [];
468
465
  const mapLocalId = new Map();
@@ -499,7 +496,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
499
496
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
500
497
  if (!this._transportReady) {
501
498
  await this.setupTransport({
502
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
499
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
503
500
  localSdpObject
504
501
  });
505
502
  }
@@ -562,7 +559,6 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
562
559
  return transceiver.receiver.getStats();
563
560
  }
564
561
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
565
- var _a;
566
562
  this.assertRecvDirection();
567
563
  const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
568
564
  const options = {
@@ -587,7 +583,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
587
583
  if (!this._transportReady) {
588
584
  const localSdpObject = sdpTransform.parse(answer.sdp);
589
585
  await this.setupTransport({
590
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
586
+ localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
591
587
  localSdpObject
592
588
  });
593
589
  }
@@ -3,6 +3,7 @@ import { IceParameters } from '../Transport';
3
3
  import { RtpCapabilities } from '../RtpParameters';
4
4
  import { SctpCapabilities } from '../SctpParameters';
5
5
  export declare class Chrome74 extends HandlerInterface {
6
+ private _closed;
6
7
  private _direction?;
7
8
  private _remoteSdp?;
8
9
  private _sendingRtpParametersByKind?;
@@ -43,6 +44,7 @@ export declare class Chrome74 extends HandlerInterface {
43
44
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
44
45
  receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
45
46
  private setupTransport;
47
+ private assertNotClosed;
46
48
  private assertSendDirection;
47
49
  private assertRecvDirection;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}