mediasoup-client 3.6.50 → 3.6.51

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 (56) hide show
  1. package/lib/Consumer.d.ts +2 -2
  2. package/lib/Consumer.d.ts.map +1 -1
  3. package/lib/Producer.d.ts +2 -2
  4. package/lib/Producer.d.ts.map +1 -1
  5. package/lib/Transport.d.ts +6 -0
  6. package/lib/Transport.d.ts.map +1 -1
  7. package/lib/Transport.js +64 -4
  8. package/lib/handlers/Chrome55.d.ts +2 -2
  9. package/lib/handlers/Chrome55.d.ts.map +1 -1
  10. package/lib/handlers/Chrome55.js +2 -2
  11. package/lib/handlers/Chrome67.d.ts +2 -2
  12. package/lib/handlers/Chrome67.d.ts.map +1 -1
  13. package/lib/handlers/Chrome67.js +2 -2
  14. package/lib/handlers/Chrome70.d.ts +2 -2
  15. package/lib/handlers/Chrome70.d.ts.map +1 -1
  16. package/lib/handlers/Chrome70.js +2 -2
  17. package/lib/handlers/Chrome74.d.ts +2 -2
  18. package/lib/handlers/Chrome74.d.ts.map +1 -1
  19. package/lib/handlers/Chrome74.js +16 -12
  20. package/lib/handlers/Edge11.d.ts +2 -2
  21. package/lib/handlers/Edge11.d.ts.map +1 -1
  22. package/lib/handlers/Edge11.js +2 -2
  23. package/lib/handlers/FakeHandler.d.ts +2 -2
  24. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  25. package/lib/handlers/FakeHandler.js +2 -2
  26. package/lib/handlers/Firefox60.d.ts +2 -2
  27. package/lib/handlers/Firefox60.d.ts.map +1 -1
  28. package/lib/handlers/Firefox60.js +16 -12
  29. package/lib/handlers/HandlerInterface.d.ts +2 -2
  30. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  31. package/lib/handlers/ReactNative.d.ts +2 -2
  32. package/lib/handlers/ReactNative.d.ts.map +1 -1
  33. package/lib/handlers/ReactNative.js +2 -2
  34. package/lib/handlers/Safari11.d.ts +2 -2
  35. package/lib/handlers/Safari11.d.ts.map +1 -1
  36. package/lib/handlers/Safari11.js +2 -2
  37. package/lib/handlers/Safari12.d.ts +2 -2
  38. package/lib/handlers/Safari12.d.ts.map +1 -1
  39. package/lib/handlers/Safari12.js +16 -12
  40. package/lib/index.d.ts +1 -1
  41. package/lib/index.js +1 -1
  42. package/package.json +1 -1
  43. package/src/Consumer.ts +3 -3
  44. package/src/Producer.ts +1 -1
  45. package/src/Transport.ts +98 -8
  46. package/src/handlers/Chrome55.ts +3 -3
  47. package/src/handlers/Chrome67.ts +2 -2
  48. package/src/handlers/Chrome70.ts +2 -2
  49. package/src/handlers/Chrome74.ts +20 -14
  50. package/src/handlers/Edge11.ts +2 -2
  51. package/src/handlers/FakeHandler.ts +2 -2
  52. package/src/handlers/Firefox60.ts +20 -14
  53. package/src/handlers/HandlerInterface.ts +2 -2
  54. package/src/handlers/ReactNative.ts +2 -2
  55. package/src/handlers/Safari11.ts +2 -2
  56. package/src/handlers/Safari12.ts +20 -14
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
@@ -452,12 +452,12 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
452
452
  }
453
453
  async pauseReceiving(
454
454
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
455
- localId) {
455
+ localIds) {
456
456
  // Unimplemented.
457
457
  }
458
458
  async resumeReceiving(
459
459
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
460
- localId) {
460
+ localIds) {
461
461
  // Unimplemented.
462
462
  }
463
463
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -39,8 +39,8 @@ export declare class Safari11 extends HandlerInterface {
39
39
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
40
40
  stopReceiving(localId: string): Promise<void>;
41
41
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
42
- pauseReceiving(localId: string): Promise<void>;
43
- resumeReceiving(localId: string): Promise<void>;
42
+ pauseReceiving(localIds: string[]): Promise<void>;
43
+ resumeReceiving(localIds: string[]): Promise<void>;
44
44
  receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
45
45
  private _setupTransport;
46
46
  private _assertSendDirection;
@@ -1 +1 @@
1
- {"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"AAMA,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;AAE5B,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,QAAS,SAAQ,gBAAgB;IAG7C,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,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAC9B;IAEX,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAQrB;IAEf,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;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAuCpD,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;IAqED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAoIvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAgCV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAsElC,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA6F7B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B7C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAY1D,cAAc,CAEnB,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7B,eAAe,CAEpB,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7B,kBAAkB,CACvB,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gCAAgC,GACzE,OAAO,CAAC,+BAA+B,CAAC;YAgE7B,eAAe;IA+B7B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;CAQ5B"}
@@ -482,12 +482,12 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
482
482
  }
483
483
  async pauseReceiving(
484
484
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
485
- localId) {
485
+ localIds) {
486
486
  // Unimplemented.
487
487
  }
488
488
  async resumeReceiving(
489
489
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
490
- localId) {
490
+ localIds) {
491
491
  // Unimplemented.
492
492
  }
493
493
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
@@ -36,8 +36,8 @@ export declare class Safari12 extends HandlerInterface {
36
36
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
37
37
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
38
38
  stopReceiving(localId: string): Promise<void>;
39
- pauseReceiving(localId: string): Promise<void>;
40
- resumeReceiving(localId: string): Promise<void>;
39
+ pauseReceiving(localIds: string[]): Promise<void>;
40
+ resumeReceiving(localIds: string[]): Promise<void>;
41
41
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
42
42
  receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
43
43
  private _setupTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"AAMA,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;AAE5B,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,QAAS,SAAQ,gBAAgB;IAG7C,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;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAqCpD,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;IAoED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAgIvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAsElC,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA8F7B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiClD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAY1D,kBAAkB,CACvB,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gCAAgC,GACzE,OAAO,CAAC,+BAA+B,CAAC;YAgE7B,eAAe;IA+B7B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;CAQ5B"}
@@ -448,13 +448,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
448
448
  await this._pc.setLocalDescription(answer);
449
449
  this._mapMidTransceiver.delete(localId);
450
450
  }
451
- async pauseReceiving(localId) {
451
+ async pauseReceiving(localIds) {
452
452
  this._assertRecvDirection();
453
- logger.debug('pauseReceiving() [localId:%s]', localId);
454
- const transceiver = this._mapMidTransceiver.get(localId);
455
- if (!transceiver)
456
- throw new Error('associated RTCRtpTransceiver not found');
457
- transceiver.direction = 'inactive';
453
+ for (const localId of localIds) {
454
+ logger.debug('pauseReceiving() [localId:%s]', localId);
455
+ const transceiver = this._mapMidTransceiver.get(localId);
456
+ if (!transceiver)
457
+ throw new Error('associated RTCRtpTransceiver not found');
458
+ transceiver.direction = 'inactive';
459
+ }
458
460
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
459
461
  logger.debug('pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
460
462
  await this._pc.setRemoteDescription(offer);
@@ -462,13 +464,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
462
464
  logger.debug('pauseReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
463
465
  await this._pc.setLocalDescription(answer);
464
466
  }
465
- async resumeReceiving(localId) {
467
+ async resumeReceiving(localIds) {
466
468
  this._assertRecvDirection();
467
- logger.debug('resumeReceiving() [localId:%s]', localId);
468
- const transceiver = this._mapMidTransceiver.get(localId);
469
- if (!transceiver)
470
- throw new Error('associated RTCRtpTransceiver not found');
471
- transceiver.direction = 'recvonly';
469
+ for (const localId of localIds) {
470
+ logger.debug('resumeReceiving() [localId:%s]', localId);
471
+ const transceiver = this._mapMidTransceiver.get(localId);
472
+ if (!transceiver)
473
+ throw new Error('associated RTCRtpTransceiver not found');
474
+ transceiver.direction = 'recvonly';
475
+ }
472
476
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
473
477
  logger.debug('resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
474
478
  await this._pc.setRemoteDescription(offer);
package/lib/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { types };
8
8
  /**
9
9
  * Expose mediasoup-client version.
10
10
  */
11
- export declare const version = "3.6.50";
11
+ export declare const version = "3.6.51";
12
12
  /**
13
13
  * Expose Device class and detectDevice() helper.
14
14
  */
package/lib/index.js CHANGED
@@ -33,7 +33,7 @@ exports.types = types;
33
33
  /**
34
34
  * Expose mediasoup-client version.
35
35
  */
36
- exports.version = '3.6.50';
36
+ exports.version = '3.6.51';
37
37
  /**
38
38
  * Expose parseScalabilityMode() function.
39
39
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup-client",
3
- "version": "3.6.50",
3
+ "version": "3.6.51",
4
4
  "description": "mediasoup client side JavaScript library",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
package/src/Consumer.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Logger } from './Logger';
2
2
  import { EnhancedEventEmitter } from './EnhancedEventEmitter';
3
3
  import { InvalidStateError } from './errors';
4
- import { RtpParameters } from './RtpParameters';
4
+ import { MediaKind, RtpParameters } from './RtpParameters';
5
5
 
6
6
  export type ConsumerOptions =
7
7
  {
@@ -118,9 +118,9 @@ export class Consumer extends EnhancedEventEmitter
118
118
  /**
119
119
  * Media kind.
120
120
  */
121
- get kind(): string
121
+ get kind(): MediaKind
122
122
  {
123
- return this._track.kind;
123
+ return this._track.kind as MediaKind;
124
124
  }
125
125
 
126
126
  /**
package/src/Producer.ts CHANGED
@@ -152,7 +152,7 @@ export class Producer extends EnhancedEventEmitter
152
152
  /**
153
153
  * Media kind.
154
154
  */
155
- get kind(): string
155
+ get kind(): MediaKind
156
156
  {
157
157
  return this._kind;
158
158
  }
package/src/Transport.ts CHANGED
@@ -187,6 +187,14 @@ export class Transport extends EnhancedEventEmitter
187
187
  private _pendingConsumerTasks: ConsumerCreationTask[] = [];
188
188
  // Consumer creation in progress flag.
189
189
  private _consumerCreationInProgress = false;
190
+ // Consumers pending to be paused.
191
+ private _pendingPauseConsumers: Map<string, Consumer> = new Map();
192
+ // Consumer pause in progress flag.
193
+ private _consumerPauseInProgress = false;
194
+ // Consumers pending to be resumed.
195
+ private _pendingResumeConsumers: Map<string, Consumer> = new Map();
196
+ // Consumer resume in progress flag.
197
+ private _consumerResumeInProgress = false;
190
198
  // Observer instance.
191
199
  protected readonly _observer = new EnhancedEventEmitter();
192
200
 
@@ -892,6 +900,66 @@ export class Transport extends EnhancedEventEmitter
892
900
  .catch(() => {});
893
901
  }
894
902
 
903
+ _pausePendingConsumers()
904
+ {
905
+ this._awaitQueue.push(
906
+ async () =>
907
+ {
908
+ this._consumerPauseInProgress = true;
909
+
910
+ const pendingPauseConsumers = Array.from(this._pendingPauseConsumers.values());
911
+
912
+ // Clear pending pause Consumer map.
913
+ this._pendingPauseConsumers.clear();
914
+
915
+ await this._handler.pauseReceiving(
916
+ pendingPauseConsumers.map((consumer) => consumer.localId)
917
+ );
918
+ },
919
+ 'consumer @pause event')
920
+ .catch(() => { })
921
+ .finally(() =>
922
+ {
923
+ this._consumerPauseInProgress = false;
924
+
925
+ // There are pending Consumers to be paused, do it.
926
+ if (this._pendingPauseConsumers.size > 0)
927
+ {
928
+ this._pausePendingConsumers();
929
+ }
930
+ });
931
+ }
932
+
933
+ _resumePendingConsumers()
934
+ {
935
+ this._awaitQueue.push(
936
+ async () =>
937
+ {
938
+ this._consumerResumeInProgress = true;
939
+
940
+ const pendingResumeConsumers = Array.from(this._pendingResumeConsumers.values());
941
+
942
+ // Clear pending resume Consumer map.
943
+ this._pendingResumeConsumers.clear();
944
+
945
+ await this._handler.resumeReceiving(
946
+ pendingResumeConsumers.map((consumer) => consumer.localId)
947
+ );
948
+ },
949
+ 'consumer @resume event')
950
+ .catch(() => { })
951
+ .finally(() =>
952
+ {
953
+ this._consumerResumeInProgress = false;
954
+
955
+ // There are pending Consumer to be resumed, do it.
956
+ if (this._pendingResumeConsumers.size > 0)
957
+ {
958
+ this._resumePendingConsumers();
959
+ }
960
+ });
961
+ }
962
+
895
963
  _handleHandler(): void
896
964
  {
897
965
  const handler = this._handler;
@@ -986,6 +1054,8 @@ export class Transport extends EnhancedEventEmitter
986
1054
  consumer.on('@close', () =>
987
1055
  {
988
1056
  this._consumers.delete(consumer.id);
1057
+ this._pendingPauseConsumers.delete(consumer.id);
1058
+ this._pendingResumeConsumers.delete(consumer.id);
989
1059
 
990
1060
  if (this._closed)
991
1061
  return;
@@ -998,18 +1068,38 @@ export class Transport extends EnhancedEventEmitter
998
1068
 
999
1069
  consumer.on('@pause', () =>
1000
1070
  {
1001
- this._awaitQueue.push(
1002
- async () => this._handler.pauseReceiving(consumer.localId),
1003
- 'consumer @pause event')
1004
- .catch(() => {});
1071
+ // If Consumer is pending to be resumed, remove from pending resume list.
1072
+ if (this._pendingResumeConsumers.has(consumer.id))
1073
+ {
1074
+ this._pendingResumeConsumers.delete(consumer.id);
1075
+ }
1076
+
1077
+ // Store the Consumer into the pending list.
1078
+ this._pendingPauseConsumers.set(consumer.id, consumer);
1079
+
1080
+ // There is no Consumer pause in progress, do it now.
1081
+ if (this._consumerPauseInProgress === false)
1082
+ {
1083
+ this._pausePendingConsumers();
1084
+ }
1005
1085
  });
1006
1086
 
1007
1087
  consumer.on('@resume', () =>
1008
1088
  {
1009
- this._awaitQueue.push(
1010
- async () => this._handler.resumeReceiving(consumer.localId),
1011
- 'consumer @resume event')
1012
- .catch(() => {});
1089
+ // If Consumer is pending to be paused, remove from pending pause list.
1090
+ if (this._pendingPauseConsumers.has(consumer.id))
1091
+ {
1092
+ this._pendingPauseConsumers.delete(consumer.id);
1093
+ }
1094
+
1095
+ // Store the Consumer into the pending list.
1096
+ this._pendingResumeConsumers.set(consumer.id, consumer);
1097
+
1098
+ // There is no Consumer resume in progress, do it now.
1099
+ if (this._consumerResumeInProgress === false)
1100
+ {
1101
+ this._resumePendingConsumers();
1102
+ }
1013
1103
  });
1014
1104
 
1015
1105
  consumer.on('@getstats', (callback, errback) =>
@@ -702,17 +702,17 @@ export class Chrome55 extends HandlerInterface
702
702
 
703
703
  await this._pc.setLocalDescription(answer);
704
704
  }
705
-
705
+
706
706
  async pauseReceiving(
707
707
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
708
- localId: string): Promise<void>
708
+ localIds: string[]): Promise<void>
709
709
  {
710
710
  // Unimplemented.
711
711
  }
712
712
 
713
713
  async resumeReceiving(
714
714
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
715
- localId: string): Promise<void>
715
+ localIds: string[]): Promise<void>
716
716
  {
717
717
  // Unimplemented.
718
718
  }
@@ -784,14 +784,14 @@ export class Chrome67 extends HandlerInterface
784
784
 
785
785
  async pauseReceiving(
786
786
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
787
- localId: string): Promise<void>
787
+ localIds: string[]): Promise<void>
788
788
  {
789
789
  // Unimplemented.
790
790
  }
791
791
 
792
792
  async resumeReceiving(
793
793
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
794
- localId: string): Promise<void>
794
+ localIds: string[]): Promise<void>
795
795
  {
796
796
  // Unimplemented.
797
797
  }
@@ -792,14 +792,14 @@ export class Chrome70 extends HandlerInterface
792
792
 
793
793
  async pauseReceiving(
794
794
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
795
- localId: string): Promise<void>
795
+ localIds: string[]): Promise<void>
796
796
  {
797
797
  // Unimplemented.
798
798
  }
799
799
 
800
800
  async resumeReceiving(
801
801
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
802
- localId: string): Promise<void>
802
+ localIds: string[]): Promise<void>
803
803
  {
804
804
  // Unimplemented.
805
805
  }
@@ -780,19 +780,22 @@ export class Chrome74 extends HandlerInterface
780
780
  this._mapMidTransceiver.delete(localId);
781
781
  }
782
782
 
783
- async pauseReceiving(localId: string): Promise<void>
783
+ async pauseReceiving(localIds: string[]): Promise<void>
784
784
  {
785
785
  this._assertRecvDirection();
786
786
 
787
- logger.debug('pauseReceiving() [localId:%s]', localId);
787
+ for (const localId of localIds)
788
+ {
789
+ logger.debug('pauseReceiving() [localId:%s]', localId);
788
790
 
789
- const transceiver = this._mapMidTransceiver.get(localId);
791
+ const transceiver = this._mapMidTransceiver.get(localId);
790
792
 
791
- if (!transceiver)
792
- throw new Error('associated RTCRtpTransceiver not found');
793
+ if (!transceiver)
794
+ throw new Error('associated RTCRtpTransceiver not found');
795
+
796
+ transceiver.direction = 'inactive';
797
+ }
793
798
 
794
- transceiver.direction = 'inactive';
795
-
796
799
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
797
800
 
798
801
  logger.debug(
@@ -810,19 +813,22 @@ export class Chrome74 extends HandlerInterface
810
813
  await this._pc.setLocalDescription(answer);
811
814
  }
812
815
 
813
- async resumeReceiving(localId: string): Promise<void>
816
+ async resumeReceiving(localIds: string[]): Promise<void>
814
817
  {
815
818
  this._assertRecvDirection();
816
819
 
817
- logger.debug('resumeReceiving() [localId:%s]', localId);
820
+ for (const localId of localIds)
821
+ {
822
+ logger.debug('resumeReceiving() [localId:%s]', localId);
818
823
 
819
- const transceiver = this._mapMidTransceiver.get(localId);
824
+ const transceiver = this._mapMidTransceiver.get(localId);
820
825
 
821
- if (!transceiver)
822
- throw new Error('associated RTCRtpTransceiver not found');
826
+ if (!transceiver)
827
+ throw new Error('associated RTCRtpTransceiver not found');
828
+
829
+ transceiver.direction = 'recvonly';
830
+ }
823
831
 
824
- transceiver.direction = 'recvonly';
825
-
826
832
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
827
833
 
828
834
  logger.debug(
@@ -440,14 +440,14 @@ export class Edge11 extends HandlerInterface
440
440
 
441
441
  async pauseReceiving(
442
442
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
443
- localId: string): Promise<void>
443
+ localIds: string[]): Promise<void>
444
444
  {
445
445
  // Unimplemented.
446
446
  }
447
447
 
448
448
  async resumeReceiving(
449
449
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
450
- localId: string): Promise<void>
450
+ localIds: string[]): Promise<void>
451
451
  {
452
452
  // Unimplemented.
453
453
  }
@@ -358,14 +358,14 @@ export class FakeHandler extends HandlerInterface
358
358
 
359
359
  async pauseReceiving(
360
360
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
361
- localId: string): Promise<void>
361
+ localIds: string[]): Promise<void>
362
362
  {
363
363
  // Unimplemented.
364
364
  }
365
365
 
366
366
  async resumeReceiving(
367
367
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
368
- localId: string): Promise<void>
368
+ localIds: string[]): Promise<void>
369
369
  {
370
370
  // Unimplemented.
371
371
  }
@@ -765,19 +765,22 @@ export class Firefox60 extends HandlerInterface
765
765
  this._mapMidTransceiver.delete(localId);
766
766
  }
767
767
 
768
- async pauseReceiving(localId: string): Promise<void>
768
+ async pauseReceiving(localIds: string[]): Promise<void>
769
769
  {
770
770
  this._assertRecvDirection();
771
771
 
772
- logger.debug('pauseReceiving() [localId:%s]', localId);
772
+ for (const localId of localIds)
773
+ {
774
+ logger.debug('pauseReceiving() [localId:%s]', localId);
773
775
 
774
- const transceiver = this._mapMidTransceiver.get(localId);
776
+ const transceiver = this._mapMidTransceiver.get(localId);
775
777
 
776
- if (!transceiver)
777
- throw new Error('associated RTCRtpTransceiver not found');
778
+ if (!transceiver)
779
+ throw new Error('associated RTCRtpTransceiver not found');
780
+
781
+ transceiver.direction = 'inactive';
782
+ }
778
783
 
779
- transceiver.direction = 'inactive';
780
-
781
784
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
782
785
 
783
786
  logger.debug(
@@ -795,19 +798,22 @@ export class Firefox60 extends HandlerInterface
795
798
  await this._pc.setLocalDescription(answer);
796
799
  }
797
800
 
798
- async resumeReceiving(localId: string): Promise<void>
801
+ async resumeReceiving(localIds: string[]): Promise<void>
799
802
  {
800
803
  this._assertRecvDirection();
801
804
 
802
- logger.debug('resumeReceiving() [localId:%s]', localId);
805
+ for (const localId of localIds)
806
+ {
807
+ logger.debug('resumeReceiving() [localId:%s]', localId);
803
808
 
804
- const transceiver = this._mapMidTransceiver.get(localId);
809
+ const transceiver = this._mapMidTransceiver.get(localId);
805
810
 
806
- if (!transceiver)
807
- throw new Error('associated RTCRtpTransceiver not found');
811
+ if (!transceiver)
812
+ throw new Error('associated RTCRtpTransceiver not found');
813
+
814
+ transceiver.direction = 'recvonly';
815
+ }
808
816
 
809
- transceiver.direction = 'recvonly';
810
-
811
817
  const offer = { type: 'offer', sdp: this._remoteSdp!.getSdp() };
812
818
 
813
819
  logger.debug(
@@ -141,9 +141,9 @@ export abstract class HandlerInterface extends EnhancedEventEmitter
141
141
 
142
142
  abstract stopReceiving(localId: string): Promise<void>;
143
143
 
144
- abstract pauseReceiving(localId: string): Promise<void>;
144
+ abstract pauseReceiving(localIds: string[]): Promise<void>;
145
145
 
146
- abstract resumeReceiving(localId: string): Promise<void>;
146
+ abstract resumeReceiving(localIds: string[]): Promise<void>;
147
147
 
148
148
  abstract getReceiverStats(localId: string): Promise<RTCStatsReport>;
149
149
 
@@ -725,14 +725,14 @@ export class ReactNative extends HandlerInterface
725
725
 
726
726
  async pauseReceiving(
727
727
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
728
- localId: string): Promise<void>
728
+ localIds: string[]): Promise<void>
729
729
  {
730
730
  // Unimplemented.
731
731
  }
732
732
 
733
733
  async resumeReceiving(
734
734
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
735
- localId: string): Promise<void>
735
+ localIds: string[]): Promise<void>
736
736
  {
737
737
  // Unimplemented.
738
738
  }
@@ -790,14 +790,14 @@ export class Safari11 extends HandlerInterface
790
790
 
791
791
  async pauseReceiving(
792
792
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
793
- localId: string): Promise<void>
793
+ localIds: string[]): Promise<void>
794
794
  {
795
795
  // Unimplemented.
796
796
  }
797
797
 
798
798
  async resumeReceiving(
799
799
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
800
- localId: string): Promise<void>
800
+ localIds: string[]): Promise<void>
801
801
  {
802
802
  // Unimplemented.
803
803
  }