mediasoup-client 3.6.52 → 3.6.55

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 (85) hide show
  1. package/.vimrc +21 -0
  2. package/NO_GIT/Notes.txt +18 -0
  3. package/lib/Consumer.d.ts +16 -18
  4. package/lib/Consumer.d.ts.map +1 -1
  5. package/lib/Consumer.js +11 -17
  6. package/lib/DataConsumer.d.ts +13 -15
  7. package/lib/DataConsumer.d.ts.map +1 -1
  8. package/lib/DataConsumer.js +0 -13
  9. package/lib/DataProducer.d.ts +13 -15
  10. package/lib/DataProducer.d.ts.map +1 -1
  11. package/lib/DataProducer.js +0 -13
  12. package/lib/Device.d.ts +4 -6
  13. package/lib/Device.d.ts.map +1 -1
  14. package/lib/Device.js +1 -10
  15. package/lib/EnhancedEventEmitter.d.ts +19 -3
  16. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  17. package/lib/EnhancedEventEmitter.js +50 -14
  18. package/lib/Producer.d.ts +37 -22
  19. package/lib/Producer.d.ts.map +1 -1
  20. package/lib/Producer.js +18 -28
  21. package/lib/Transport.d.ts +43 -18
  22. package/lib/Transport.d.ts.map +1 -1
  23. package/lib/Transport.js +87 -41
  24. package/lib/handlers/Chrome55.d.ts +3 -1
  25. package/lib/handlers/Chrome55.d.ts.map +1 -1
  26. package/lib/handlers/Chrome55.js +20 -12
  27. package/lib/handlers/Chrome67.d.ts +3 -1
  28. package/lib/handlers/Chrome67.d.ts.map +1 -1
  29. package/lib/handlers/Chrome67.js +20 -12
  30. package/lib/handlers/Chrome70.d.ts +3 -1
  31. package/lib/handlers/Chrome70.d.ts.map +1 -1
  32. package/lib/handlers/Chrome70.js +23 -13
  33. package/lib/handlers/Chrome74.d.ts +3 -1
  34. package/lib/handlers/Chrome74.d.ts.map +1 -1
  35. package/lib/handlers/Chrome74.js +43 -13
  36. package/lib/handlers/Edge11.d.ts +3 -1
  37. package/lib/handlers/Edge11.d.ts.map +1 -1
  38. package/lib/handlers/Edge11.js +26 -18
  39. package/lib/handlers/FakeHandler.d.ts +5 -3
  40. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  41. package/lib/handlers/FakeHandler.js +14 -8
  42. package/lib/handlers/Firefox60.d.ts +3 -1
  43. package/lib/handlers/Firefox60.d.ts.map +1 -1
  44. package/lib/handlers/Firefox60.js +45 -13
  45. package/lib/handlers/HandlerInterface.d.ts +15 -11
  46. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  47. package/lib/handlers/HandlerInterface.js +0 -8
  48. package/lib/handlers/ReactNative.d.ts +3 -1
  49. package/lib/handlers/ReactNative.d.ts.map +1 -1
  50. package/lib/handlers/ReactNative.js +20 -12
  51. package/lib/handlers/Safari11.d.ts +3 -1
  52. package/lib/handlers/Safari11.d.ts.map +1 -1
  53. package/lib/handlers/Safari11.js +20 -12
  54. package/lib/handlers/Safari12.d.ts +3 -1
  55. package/lib/handlers/Safari12.d.ts.map +1 -1
  56. package/lib/handlers/Safari12.js +45 -13
  57. package/lib/handlers/ortc/edgeUtils.js +1 -5
  58. package/lib/handlers/sdp/MediaSection.js +1 -5
  59. package/lib/handlers/sdp/RemoteSdp.js +1 -5
  60. package/lib/handlers/sdp/commonUtils.js +1 -5
  61. package/lib/index.d.ts +1 -1
  62. package/lib/index.js +2 -6
  63. package/lib/ortc.js +1 -5
  64. package/lib/types.js +1 -5
  65. package/lib/utils.d.ts.map +1 -1
  66. package/package.json +7 -7
  67. package/src/Consumer.ts +44 -20
  68. package/src/DataConsumer.ts +19 -16
  69. package/src/DataProducer.ts +19 -16
  70. package/src/Device.ts +6 -6
  71. package/src/EnhancedEventEmitter.ts +105 -22
  72. package/src/Producer.ts +97 -31
  73. package/src/Transport.ts +185 -58
  74. package/src/handlers/Chrome55.ts +31 -8
  75. package/src/handlers/Chrome67.ts +31 -8
  76. package/src/handlers/Chrome70.ts +34 -8
  77. package/src/handlers/Chrome74.ts +82 -8
  78. package/src/handlers/Edge11.ts +38 -15
  79. package/src/handlers/FakeHandler.ts +22 -6
  80. package/src/handlers/Firefox60.ts +84 -8
  81. package/src/handlers/HandlerInterface.ts +19 -11
  82. package/src/handlers/ReactNative.ts +31 -8
  83. package/src/handlers/Safari11.ts +31 -8
  84. package/src/handlers/Safari12.ts +84 -8
  85. package/src/utils.ts +0 -1
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -308,6 +304,14 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
308
304
  logger.debug('stopSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
309
305
  await this._pc.setRemoteDescription(answer);
310
306
  }
307
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
308
+ async pauseSending(localId) {
309
+ // Unimplemented.
310
+ }
311
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
312
+ async resumeSending(localId) {
313
+ // Unimplemented.
314
+ }
311
315
  async replaceTrack(localId, track) {
312
316
  this._assertSendDirection();
313
317
  if (track) {
@@ -470,13 +474,15 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
470
474
  }
471
475
  return results;
472
476
  }
473
- async stopReceiving(localId) {
477
+ async stopReceiving(localIds) {
474
478
  this._assertRecvDirection();
475
- logger.debug('stopReceiving() [localId:%s]', localId);
476
- const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId) || {};
477
- // Remove from the map.
478
- this._mapRecvLocalIdInfo.delete(localId);
479
- this._remoteSdp.planBStopReceiving({ mid: mid, offerRtpParameters: rtpParameters });
479
+ for (const localId of localIds) {
480
+ logger.debug('stopReceiving() [localId:%s]', localId);
481
+ const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId) || {};
482
+ // Remove from the map.
483
+ this._mapRecvLocalIdInfo.delete(localId);
484
+ this._remoteSdp.planBStopReceiving({ mid: mid, offerRtpParameters: rtpParameters });
485
+ }
480
486
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
481
487
  logger.debug('stopReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
482
488
  await this._pc.setRemoteDescription(offer);
@@ -547,7 +553,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
547
553
  // Update the remote DTLS role in the SDP.
548
554
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
549
555
  // Need to tell the remote transport about our parameters.
550
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
556
+ await new Promise((resolve, reject) => {
557
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
558
+ });
551
559
  this._transportReady = true;
552
560
  }
553
561
  _assertSendDirection() {
@@ -29,13 +29,15 @@ export declare class Chrome70 extends HandlerInterface {
29
29
  getTransportStats(): Promise<RTCStatsReport>;
30
30
  send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
31
31
  stopSending(localId: string): Promise<void>;
32
+ pauseSending(localId: string): Promise<void>;
33
+ resumeSending(localId: string): Promise<void>;
32
34
  replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
33
35
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
34
36
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
35
37
  getSenderStats(localId: string): Promise<RTCStatsReport>;
36
38
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
37
39
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
38
- stopReceiving(localId: string): Promise<void>;
40
+ stopReceiving(localIds: string[]): Promise<void>;
39
41
  pauseReceiving(localIds: string[]): Promise<void>;
40
42
  resumeReceiving(localIds: string[]): Promise<void>;
41
43
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -322,6 +318,14 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
322
318
  await this._pc.setRemoteDescription(answer);
323
319
  this._mapMidTransceiver.delete(localId);
324
320
  }
321
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
322
+ async pauseSending(localId) {
323
+ // Unimplemented.
324
+ }
325
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
326
+ async resumeSending(localId) {
327
+ // Unimplemented.
328
+ }
325
329
  async replaceTrack(localId, track) {
326
330
  this._assertSendDirection();
327
331
  if (track) {
@@ -476,20 +480,24 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
476
480
  }
477
481
  return results;
478
482
  }
479
- async stopReceiving(localId) {
483
+ async stopReceiving(localIds) {
480
484
  this._assertRecvDirection();
481
- logger.debug('stopReceiving() [localId:%s]', localId);
482
- const transceiver = this._mapMidTransceiver.get(localId);
483
- if (!transceiver)
484
- throw new Error('associated RTCRtpTransceiver not found');
485
- this._remoteSdp.closeMediaSection(transceiver.mid);
485
+ for (const localId of localIds) {
486
+ logger.debug('stopReceiving() [localId:%s]', localId);
487
+ const transceiver = this._mapMidTransceiver.get(localId);
488
+ if (!transceiver)
489
+ throw new Error('associated RTCRtpTransceiver not found');
490
+ this._remoteSdp.closeMediaSection(transceiver.mid);
491
+ }
486
492
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
487
493
  logger.debug('stopReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
488
494
  await this._pc.setRemoteDescription(offer);
489
495
  const answer = await this._pc.createAnswer();
490
496
  logger.debug('stopReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
491
497
  await this._pc.setLocalDescription(answer);
492
- this._mapMidTransceiver.delete(localId);
498
+ for (const localId of localIds) {
499
+ this._mapMidTransceiver.delete(localId);
500
+ }
493
501
  }
494
502
  async pauseReceiving(
495
503
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -554,7 +562,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
554
562
  // Update the remote DTLS role in the SDP.
555
563
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
556
564
  // Need to tell the remote transport about our parameters.
557
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
565
+ await new Promise((resolve, reject) => {
566
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
567
+ });
558
568
  this._transportReady = true;
559
569
  }
560
570
  _assertSendDirection() {
@@ -29,13 +29,15 @@ export declare class Chrome74 extends HandlerInterface {
29
29
  getTransportStats(): Promise<RTCStatsReport>;
30
30
  send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
31
31
  stopSending(localId: string): Promise<void>;
32
+ pauseSending(localId: string): Promise<void>;
33
+ resumeSending(localId: string): Promise<void>;
32
34
  replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
33
35
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
34
36
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
35
37
  getSenderStats(localId: string): Promise<RTCStatsReport>;
36
38
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
37
39
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
38
- stopReceiving(localId: string): Promise<void>;
40
+ stopReceiving(localIds: string[]): Promise<void>;
39
41
  pauseReceiving(localIds: string[]): Promise<void>;
40
42
  resumeReceiving(localIds: string[]): Promise<void>;
41
43
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
@@ -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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"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -313,6 +309,34 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
313
309
  await this._pc.setRemoteDescription(answer);
314
310
  this._mapMidTransceiver.delete(localId);
315
311
  }
312
+ async pauseSending(localId) {
313
+ this._assertSendDirection();
314
+ logger.debug('pauseSending() [localId:%s]', localId);
315
+ const transceiver = this._mapMidTransceiver.get(localId);
316
+ if (!transceiver)
317
+ throw new Error('associated RTCRtpTransceiver not found');
318
+ transceiver.direction = 'inactive';
319
+ const offer = await this._pc.createOffer();
320
+ logger.debug('pauseSending() | calling pc.setLocalDescription() [offer:%o]', offer);
321
+ await this._pc.setLocalDescription(offer);
322
+ const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
323
+ logger.debug('pauseSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
324
+ await this._pc.setRemoteDescription(answer);
325
+ }
326
+ async resumeSending(localId) {
327
+ this._assertSendDirection();
328
+ logger.debug('resumeSending() [localId:%s]', localId);
329
+ const transceiver = this._mapMidTransceiver.get(localId);
330
+ if (!transceiver)
331
+ throw new Error('associated RTCRtpTransceiver not found');
332
+ transceiver.direction = 'sendonly';
333
+ const offer = await this._pc.createOffer();
334
+ logger.debug('resumeSending() | calling pc.setLocalDescription() [offer:%o]', offer);
335
+ await this._pc.setLocalDescription(offer);
336
+ const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
337
+ logger.debug('resumeSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
338
+ await this._pc.setRemoteDescription(answer);
339
+ }
316
340
  async replaceTrack(localId, track) {
317
341
  this._assertSendDirection();
318
342
  if (track) {
@@ -469,20 +493,24 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
469
493
  }
470
494
  return results;
471
495
  }
472
- async stopReceiving(localId) {
496
+ async stopReceiving(localIds) {
473
497
  this._assertRecvDirection();
474
- logger.debug('stopReceiving() [localId:%s]', localId);
475
- const transceiver = this._mapMidTransceiver.get(localId);
476
- if (!transceiver)
477
- throw new Error('associated RTCRtpTransceiver not found');
478
- this._remoteSdp.closeMediaSection(transceiver.mid);
498
+ for (const localId of localIds) {
499
+ logger.debug('stopReceiving() [localId:%s]', localId);
500
+ const transceiver = this._mapMidTransceiver.get(localId);
501
+ if (!transceiver)
502
+ throw new Error('associated RTCRtpTransceiver not found');
503
+ this._remoteSdp.closeMediaSection(transceiver.mid);
504
+ }
479
505
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
480
506
  logger.debug('stopReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
481
507
  await this._pc.setRemoteDescription(offer);
482
508
  const answer = await this._pc.createAnswer();
483
509
  logger.debug('stopReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
484
510
  await this._pc.setLocalDescription(answer);
485
- this._mapMidTransceiver.delete(localId);
511
+ for (const localId of localIds) {
512
+ this._mapMidTransceiver.delete(localId);
513
+ }
486
514
  }
487
515
  async pauseReceiving(localIds) {
488
516
  this._assertRecvDirection();
@@ -568,7 +596,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
568
596
  // Update the remote DTLS role in the SDP.
569
597
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
570
598
  // Need to tell the remote transport about our parameters.
571
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
599
+ await new Promise((resolve, reject) => {
600
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
601
+ });
572
602
  this._transportReady = true;
573
603
  }
574
604
  _assertSendDirection() {
@@ -34,13 +34,15 @@ export declare class Edge11 extends HandlerInterface {
34
34
  getTransportStats(): Promise<RTCStatsReport>;
35
35
  send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
36
36
  stopSending(localId: string): Promise<void>;
37
+ pauseSending(localId: string): Promise<void>;
38
+ resumeSending(localId: string): Promise<void>;
37
39
  replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
38
40
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
39
41
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
40
42
  getSenderStats(localId: string): Promise<RTCStatsReport>;
41
43
  sendDataChannel(options: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
42
44
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
43
- stopReceiving(localId: string): Promise<void>;
45
+ stopReceiving(localIds: string[]): Promise<void>;
44
46
  pauseReceiving(localIds: string[]): Promise<void>;
45
47
  resumeReceiving(localIds: string[]): Promise<void>;
46
48
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
@@ -1 +1 @@
1
- {"version":3,"file":"Edge11.d.ts","sourceRoot":"","sources":["../../src/handlers/Edge11.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Edge11.d.ts","sourceRoot":"","sources":["../../src/handlers/Edge11.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -187,6 +183,14 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
187
183
  throw error;
188
184
  }
189
185
  }
186
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
187
+ async pauseSending(localId) {
188
+ // Unimplemented.
189
+ }
190
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
191
+ async resumeSending(localId) {
192
+ // Unimplemented.
193
+ }
190
194
  async replaceTrack(localId, track) {
191
195
  if (track) {
192
196
  logger.debug('replaceTrack() [localId:%s, track.id:%s]', localId, track.id);
@@ -267,18 +271,20 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
267
271
  }
268
272
  return results;
269
273
  }
270
- async stopReceiving(localId) {
271
- logger.debug('stopReceiving() [localId:%s]', localId);
272
- const rtpReceiver = this._rtpReceivers.get(localId);
273
- if (!rtpReceiver)
274
- throw new Error('RTCRtpReceiver not found');
275
- this._rtpReceivers.delete(localId);
276
- try {
277
- logger.debug('stopReceiving() | calling rtpReceiver.stop()');
278
- rtpReceiver.stop();
279
- }
280
- catch (error) {
281
- logger.warn('stopReceiving() | rtpReceiver.stop() failed:%o', error);
274
+ async stopReceiving(localIds) {
275
+ for (const localId of localIds) {
276
+ logger.debug('stopReceiving() [localId:%s]', localId);
277
+ const rtpReceiver = this._rtpReceivers.get(localId);
278
+ if (!rtpReceiver)
279
+ throw new Error('RTCRtpReceiver not found');
280
+ this._rtpReceivers.delete(localId);
281
+ try {
282
+ logger.debug('stopReceiving() | calling rtpReceiver.stop()');
283
+ rtpReceiver.stop();
284
+ }
285
+ catch (error) {
286
+ logger.warn('stopReceiving() | rtpReceiver.stop() failed:%o', error);
287
+ }
282
288
  }
283
289
  }
284
290
  async pauseReceiving(
@@ -392,7 +398,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
392
398
  const dtlsParameters = this._dtlsTransport.getLocalParameters();
393
399
  dtlsParameters.role = localDtlsRole;
394
400
  // Need to tell the remote transport about our parameters.
395
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
401
+ await new Promise((resolve, reject) => {
402
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
403
+ });
396
404
  // Start the RTCIceTransport.
397
405
  this._iceTransport.start(this._iceGatherer, this._remoteIceParameters, 'controlling');
398
406
  // Add remote ICE candidates.
@@ -1,5 +1,5 @@
1
1
  import { HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
2
- import { IceParameters, DtlsParameters } from '../Transport';
2
+ import { IceParameters, DtlsParameters, ConnectionState } from '../Transport';
3
3
  import { RtpCapabilities } from '../RtpParameters';
4
4
  import { SctpCapabilities } from '../SctpParameters';
5
5
  export declare type FakeParameters = {
@@ -22,7 +22,7 @@ export declare class FakeHandler extends HandlerInterface {
22
22
  constructor(fakeParameters: any);
23
23
  get name(): string;
24
24
  close(): void;
25
- setConnectionState(connectionState: string): void;
25
+ setConnectionState(connectionState: ConnectionState): void;
26
26
  getNativeRtpCapabilities(): Promise<RtpCapabilities>;
27
27
  getNativeSctpCapabilities(): Promise<SctpCapabilities>;
28
28
  run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
@@ -31,13 +31,15 @@ export declare class FakeHandler extends HandlerInterface {
31
31
  getTransportStats(): Promise<RTCStatsReport>;
32
32
  send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
33
33
  stopSending(localId: string): Promise<void>;
34
+ pauseSending(localId: string): Promise<void>;
35
+ resumeSending(localId: string): Promise<void>;
34
36
  replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
35
37
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
36
38
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
37
39
  getSenderStats(localId: string): Promise<RTCStatsReport>;
38
40
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
39
41
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
40
- stopReceiving(localId: string): Promise<void>;
42
+ stopReceiving(localIds: string[]): Promise<void>;
41
43
  pauseReceiving(localIds: string[]): Promise<void>;
42
44
  resumeReceiving(localIds: string[]): Promise<void>;
43
45
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
@@ -1 +1 @@
1
- {"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -152,6 +148,14 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
152
148
  throw new Error('local track not found');
153
149
  this._tracks.delete(Number(localId));
154
150
  }
151
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
152
+ async pauseSending(localId) {
153
+ // Unimplemented.
154
+ }
155
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
156
+ async resumeSending(localId) {
157
+ // Unimplemented.
158
+ }
155
159
  async replaceTrack(localId, track) {
156
160
  if (track) {
157
161
  logger.debug('replaceTrack() [localId:%s, track.id:%s]', localId, track.id);
@@ -207,9 +211,11 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
207
211
  }
208
212
  return results;
209
213
  }
210
- async stopReceiving(localId) {
211
- logger.debug('stopReceiving() [localId:%s]', localId);
212
- this._tracks.delete(Number(localId));
214
+ async stopReceiving(localIds) {
215
+ for (const localId of localIds) {
216
+ logger.debug('stopReceiving() [localId:%s]', localId);
217
+ this._tracks.delete(Number(localId));
218
+ }
213
219
  }
214
220
  async pauseReceiving(
215
221
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -28,13 +28,15 @@ export declare class Firefox60 extends HandlerInterface {
28
28
  getTransportStats(): Promise<RTCStatsReport>;
29
29
  send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
30
30
  stopSending(localId: string): Promise<void>;
31
+ pauseSending(localId: string): Promise<void>;
32
+ resumeSending(localId: string): Promise<void>;
31
33
  replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
32
34
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
33
35
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
34
36
  getSenderStats(localId: string): Promise<RTCStatsReport>;
35
37
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
36
38
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
37
- stopReceiving(localId: string): Promise<void>;
39
+ stopReceiving(localIds: string[]): Promise<void>;
38
40
  pauseReceiving(localIds: string[]): Promise<void>;
39
41
  resumeReceiving(localIds: string[]): Promise<void>;
40
42
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
@@ -1 +1 @@
1
- {"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
5
  }) : (function(o, m, k, k2) {
10
6
  if (k2 === undefined) k2 = k;
11
7
  o[k2] = m[k];
@@ -325,6 +321,36 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
325
321
  await this._pc.setRemoteDescription(answer);
326
322
  this._mapMidTransceiver.delete(localId);
327
323
  }
324
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
325
+ async pauseSending(localId) {
326
+ this._assertSendDirection();
327
+ logger.debug('pauseSending() [localId:%s]', localId);
328
+ const transceiver = this._mapMidTransceiver.get(localId);
329
+ if (!transceiver)
330
+ throw new Error('associated RTCRtpTransceiver not found');
331
+ transceiver.direction = 'inactive';
332
+ const offer = await this._pc.createOffer();
333
+ logger.debug('pauseSending() | calling pc.setLocalDescription() [offer:%o]', offer);
334
+ await this._pc.setLocalDescription(offer);
335
+ const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
336
+ logger.debug('pauseSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
337
+ await this._pc.setRemoteDescription(answer);
338
+ }
339
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
340
+ async resumeSending(localId) {
341
+ this._assertSendDirection();
342
+ logger.debug('resumeSending() [localId:%s]', localId);
343
+ const transceiver = this._mapMidTransceiver.get(localId);
344
+ if (!transceiver)
345
+ throw new Error('associated RTCRtpTransceiver not found');
346
+ transceiver.direction = 'sendonly';
347
+ const offer = await this._pc.createOffer();
348
+ logger.debug('resumeSending() | calling pc.setLocalDescription() [offer:%o]', offer);
349
+ await this._pc.setLocalDescription(offer);
350
+ const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
351
+ logger.debug('resumeSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
352
+ await this._pc.setRemoteDescription(answer);
353
+ }
328
354
  async replaceTrack(localId, track) {
329
355
  this._assertSendDirection();
330
356
  if (track) {
@@ -473,20 +499,24 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
473
499
  }
474
500
  return results;
475
501
  }
476
- async stopReceiving(localId) {
502
+ async stopReceiving(localIds) {
477
503
  this._assertRecvDirection();
478
- logger.debug('stopReceiving() [localId:%s]', localId);
479
- const transceiver = this._mapMidTransceiver.get(localId);
480
- if (!transceiver)
481
- throw new Error('associated RTCRtpTransceiver not found');
482
- this._remoteSdp.closeMediaSection(transceiver.mid);
504
+ for (const localId of localIds) {
505
+ logger.debug('stopReceiving() [localId:%s]', localId);
506
+ const transceiver = this._mapMidTransceiver.get(localId);
507
+ if (!transceiver)
508
+ throw new Error('associated RTCRtpTransceiver not found');
509
+ this._remoteSdp.closeMediaSection(transceiver.mid);
510
+ }
483
511
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
484
512
  logger.debug('stopReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
485
513
  await this._pc.setRemoteDescription(offer);
486
514
  const answer = await this._pc.createAnswer();
487
515
  logger.debug('stopReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
488
516
  await this._pc.setLocalDescription(answer);
489
- this._mapMidTransceiver.delete(localId);
517
+ for (const localId of localIds) {
518
+ this._mapMidTransceiver.delete(localId);
519
+ }
490
520
  }
491
521
  async pauseReceiving(localIds) {
492
522
  this._assertRecvDirection();
@@ -568,7 +598,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
568
598
  // Update the remote DTLS role in the SDP.
569
599
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
570
600
  // Need to tell the remote transport about our parameters.
571
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
601
+ await new Promise((resolve, reject) => {
602
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
603
+ });
572
604
  this._transportReady = true;
573
605
  }
574
606
  _assertSendDirection() {