mediasoup-client 3.6.50 → 3.6.53

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/lib/Consumer.d.ts +22 -24
  2. package/lib/Consumer.d.ts.map +1 -1
  3. package/lib/Consumer.js +5 -18
  4. package/lib/DataConsumer.d.ts +17 -19
  5. package/lib/DataConsumer.d.ts.map +1 -1
  6. package/lib/DataConsumer.js +2 -14
  7. package/lib/DataProducer.d.ts +17 -19
  8. package/lib/DataProducer.d.ts.map +1 -1
  9. package/lib/DataProducer.js +2 -14
  10. package/lib/Device.d.ts +4 -6
  11. package/lib/Device.d.ts.map +1 -1
  12. package/lib/Device.js +8 -9
  13. package/lib/EnhancedEventEmitter.d.ts +19 -3
  14. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  15. package/lib/EnhancedEventEmitter.js +50 -14
  16. package/lib/Producer.d.ts +35 -28
  17. package/lib/Producer.d.ts.map +1 -1
  18. package/lib/Producer.js +20 -29
  19. package/lib/Transport.d.ts +49 -21
  20. package/lib/Transport.d.ts.map +1 -1
  21. package/lib/Transport.js +97 -31
  22. package/lib/handlers/Chrome55.d.ts +2 -2
  23. package/lib/handlers/Chrome55.d.ts.map +1 -1
  24. package/lib/handlers/Chrome55.js +10 -4
  25. package/lib/handlers/Chrome67.d.ts +2 -2
  26. package/lib/handlers/Chrome67.d.ts.map +1 -1
  27. package/lib/handlers/Chrome67.js +10 -4
  28. package/lib/handlers/Chrome70.d.ts +2 -2
  29. package/lib/handlers/Chrome70.d.ts.map +1 -1
  30. package/lib/handlers/Chrome70.js +10 -4
  31. package/lib/handlers/Chrome74.d.ts +2 -2
  32. package/lib/handlers/Chrome74.d.ts.map +1 -1
  33. package/lib/handlers/Chrome74.js +24 -14
  34. package/lib/handlers/Edge11.d.ts +2 -2
  35. package/lib/handlers/Edge11.d.ts.map +1 -1
  36. package/lib/handlers/Edge11.js +10 -4
  37. package/lib/handlers/FakeHandler.d.ts +4 -4
  38. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  39. package/lib/handlers/FakeHandler.js +7 -3
  40. package/lib/handlers/Firefox60.d.ts +2 -2
  41. package/lib/handlers/Firefox60.d.ts.map +1 -1
  42. package/lib/handlers/Firefox60.js +24 -14
  43. package/lib/handlers/HandlerInterface.d.ts +14 -12
  44. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  45. package/lib/handlers/HandlerInterface.js +0 -8
  46. package/lib/handlers/ReactNative.d.ts +2 -2
  47. package/lib/handlers/ReactNative.d.ts.map +1 -1
  48. package/lib/handlers/ReactNative.js +10 -4
  49. package/lib/handlers/Safari11.d.ts +2 -2
  50. package/lib/handlers/Safari11.d.ts.map +1 -1
  51. package/lib/handlers/Safari11.js +10 -4
  52. package/lib/handlers/Safari12.d.ts +2 -2
  53. package/lib/handlers/Safari12.d.ts.map +1 -1
  54. package/lib/handlers/Safari12.js +24 -14
  55. package/lib/handlers/ortc/edgeUtils.js +5 -1
  56. package/lib/handlers/sdp/MediaSection.js +5 -1
  57. package/lib/handlers/sdp/RemoteSdp.js +5 -1
  58. package/lib/handlers/sdp/commonUtils.js +5 -1
  59. package/lib/index.d.ts +1 -1
  60. package/lib/index.js +6 -2
  61. package/lib/ortc.js +5 -1
  62. package/lib/types.js +5 -1
  63. package/lib/utils.d.ts.map +1 -1
  64. package/package.json +11 -11
  65. package/src/Consumer.ts +40 -29
  66. package/src/DataConsumer.ts +26 -22
  67. package/src/DataProducer.ts +26 -22
  68. package/src/Device.ts +9 -9
  69. package/src/EnhancedEventEmitter.ts +105 -22
  70. package/src/Producer.ts +99 -38
  71. package/src/Transport.ts +193 -52
  72. package/src/handlers/Chrome55.ts +12 -4
  73. package/src/handlers/Chrome67.ts +11 -3
  74. package/src/handlers/Chrome70.ts +11 -3
  75. package/src/handlers/Chrome74.ts +29 -15
  76. package/src/handlers/Edge11.ts +11 -3
  77. package/src/handlers/FakeHandler.ts +6 -5
  78. package/src/handlers/Firefox60.ts +29 -15
  79. package/src/handlers/HandlerInterface.ts +16 -12
  80. package/src/handlers/ReactNative.ts +11 -3
  81. package/src/handlers/Safari11.ts +11 -3
  82. package/src/handlers/Safari12.ts +29 -15
  83. package/src/utils.ts +0 -1
  84. package/.vimrc +0 -21
  85. package/NO_GIT/Notes.txt +0 -18
@@ -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":"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"}
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -482,12 +486,12 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
482
486
  }
483
487
  async pauseReceiving(
484
488
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
485
- localId) {
489
+ localIds) {
486
490
  // Unimplemented.
487
491
  }
488
492
  async resumeReceiving(
489
493
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
490
- localId) {
494
+ localIds) {
491
495
  // Unimplemented.
492
496
  }
493
497
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
@@ -535,7 +539,9 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
535
539
  // Update the remote DTLS role in the SDP.
536
540
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
537
541
  // Need to tell the remote transport about our parameters.
538
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
542
+ await new Promise((resolve, reject) => {
543
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
544
+ });
539
545
  this._transportReady = true;
540
546
  }
541
547
  _assertSendDirection() {
@@ -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":"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"}
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -448,13 +452,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
448
452
  await this._pc.setLocalDescription(answer);
449
453
  this._mapMidTransceiver.delete(localId);
450
454
  }
451
- async pauseReceiving(localId) {
455
+ async pauseReceiving(localIds) {
452
456
  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';
457
+ for (const localId of localIds) {
458
+ logger.debug('pauseReceiving() [localId:%s]', localId);
459
+ const transceiver = this._mapMidTransceiver.get(localId);
460
+ if (!transceiver)
461
+ throw new Error('associated RTCRtpTransceiver not found');
462
+ transceiver.direction = 'inactive';
463
+ }
458
464
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
459
465
  logger.debug('pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
460
466
  await this._pc.setRemoteDescription(offer);
@@ -462,13 +468,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
462
468
  logger.debug('pauseReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
463
469
  await this._pc.setLocalDescription(answer);
464
470
  }
465
- async resumeReceiving(localId) {
471
+ async resumeReceiving(localIds) {
466
472
  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';
473
+ for (const localId of localIds) {
474
+ logger.debug('resumeReceiving() [localId:%s]', localId);
475
+ const transceiver = this._mapMidTransceiver.get(localId);
476
+ if (!transceiver)
477
+ throw new Error('associated RTCRtpTransceiver not found');
478
+ transceiver.direction = 'recvonly';
479
+ }
472
480
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
473
481
  logger.debug('resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
474
482
  await this._pc.setRemoteDescription(offer);
@@ -528,7 +536,9 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
528
536
  // Update the remote DTLS role in the SDP.
529
537
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
530
538
  // Need to tell the remote transport about our parameters.
531
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
539
+ await new Promise((resolve, reject) => {
540
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
541
+ });
532
542
  this._transportReady = true;
533
543
  }
534
544
  _assertSendDirection() {
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
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.53";
12
12
  /**
13
13
  * Expose Device class and detectDevice() helper.
14
14
  */
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -33,7 +37,7 @@ exports.types = types;
33
37
  /**
34
38
  * Expose mediasoup-client version.
35
39
  */
36
- exports.version = '3.6.50';
40
+ exports.version = '3.6.53';
37
41
  /**
38
42
  * Expose parseScalabilityMode() function.
39
43
  */
package/lib/ortc.js CHANGED
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/lib/types.js CHANGED
@@ -1,7 +1,11 @@
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAG,GAAG,CAOvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAG,GAAG,CAMvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup-client",
3
- "version": "3.6.50",
3
+ "version": "3.6.53",
4
4
  "description": "mediasoup client side JavaScript library",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -37,27 +37,27 @@
37
37
  "dependencies": {
38
38
  "@types/debug": "^4.1.7",
39
39
  "@types/events": "^3.0.0",
40
- "awaitqueue": "^2.3.3",
40
+ "awaitqueue": "^2.4.0",
41
41
  "bowser": "^2.11.0",
42
- "debug": "^4.3.3",
42
+ "debug": "^4.3.4",
43
43
  "events": "^3.3.0",
44
44
  "fake-mediastreamtrack": "^1.1.6",
45
45
  "h264-profile-level-id": "^1.0.1",
46
46
  "sdp-transform": "^2.14.1",
47
- "supports-color": "^9.2.1"
47
+ "supports-color": "^9.2.2"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/sdp-transform": "^2.4.5",
51
51
  "@types/uuid": "^3.4.9",
52
- "@typescript-eslint/eslint-plugin": "^5.9.1",
53
- "@typescript-eslint/parser": "^5.9.1",
54
- "eslint": "^8.6.0",
55
- "eslint-plugin-jest": "^25.3.4",
56
- "jest": "^27.4.7",
52
+ "@typescript-eslint/eslint-plugin": "^5.30.0",
53
+ "@typescript-eslint/parser": "^5.30.0",
54
+ "eslint": "^8.18.0",
55
+ "eslint-plugin-jest": "^26.5.3",
56
+ "jest": "^28.1.2",
57
57
  "jest-tobetype": "^1.2.3",
58
58
  "open-cli": "^7.0.1",
59
- "tsc-watch": "^4.6.0",
60
- "typescript": "^4.5.4",
59
+ "tsc-watch": "^5.0.3",
60
+ "typescript": "^4.7.4",
61
61
  "uuid": "^3.4.0"
62
62
  }
63
63
  }
package/src/Consumer.ts CHANGED
@@ -1,7 +1,9 @@
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
+
6
+ const logger = new Logger('Consumer');
5
7
 
6
8
  export type ConsumerOptions =
7
9
  {
@@ -9,12 +11,29 @@ export type ConsumerOptions =
9
11
  producerId?: string;
10
12
  kind?: 'audio' | 'video';
11
13
  rtpParameters: RtpParameters;
12
- appData?: any;
14
+ appData?: Record<string, unknown>;
13
15
  }
14
16
 
15
- const logger = new Logger('Consumer');
17
+ export type ConsumerEvents =
18
+ {
19
+ transportclose: [];
20
+ trackended: [];
21
+ // Private events.
22
+ '@getstats': [(stats: RTCStatsReport) => void, (error: Error) => void];
23
+ '@close': [];
24
+ '@pause': [];
25
+ '@resume': [];
26
+ }
16
27
 
17
- export class Consumer extends EnhancedEventEmitter
28
+ export type ConsumerObserverEvents =
29
+ {
30
+ close: [];
31
+ pause: [];
32
+ resume: [];
33
+ trackended: [];
34
+ }
35
+
36
+ export class Consumer extends EnhancedEventEmitter<ConsumerEvents>
18
37
  {
19
38
  // Id.
20
39
  private readonly _id: string;
@@ -33,18 +52,10 @@ export class Consumer extends EnhancedEventEmitter
33
52
  // Paused flag.
34
53
  private _paused: boolean;
35
54
  // App custom data.
36
- private readonly _appData: any;
55
+ private readonly _appData: Record<string, unknown>;
37
56
  // Observer instance.
38
- protected readonly _observer = new EnhancedEventEmitter();
57
+ protected readonly _observer = new EnhancedEventEmitter<ConsumerObserverEvents>();
39
58
 
40
- /**
41
- * @emits transportclose
42
- * @emits trackended
43
- * @emits @getstats
44
- * @emits @close
45
- * @emits @pause
46
- * @emits @resume
47
- */
48
59
  constructor(
49
60
  {
50
61
  id,
@@ -62,7 +73,7 @@ export class Consumer extends EnhancedEventEmitter
62
73
  rtpReceiver?: RTCRtpReceiver;
63
74
  track: MediaStreamTrack;
64
75
  rtpParameters: RtpParameters;
65
- appData: any;
76
+ appData?: Record<string, unknown>;
66
77
  }
67
78
  )
68
79
  {
@@ -77,7 +88,7 @@ export class Consumer extends EnhancedEventEmitter
77
88
  this._track = track;
78
89
  this._rtpParameters = rtpParameters;
79
90
  this._paused = !track.enabled;
80
- this._appData = appData;
91
+ this._appData = appData || {};
81
92
  this._onTrackEnded = this._onTrackEnded.bind(this);
82
93
 
83
94
  this._handleTrack();
@@ -118,9 +129,9 @@ export class Consumer extends EnhancedEventEmitter
118
129
  /**
119
130
  * Media kind.
120
131
  */
121
- get kind(): string
132
+ get kind(): MediaKind
122
133
  {
123
- return this._track.kind;
134
+ return this._track.kind as MediaKind;
124
135
  }
125
136
 
126
137
  /**
@@ -158,7 +169,7 @@ export class Consumer extends EnhancedEventEmitter
158
169
  /**
159
170
  * App custom data.
160
171
  */
161
- get appData(): any
172
+ get appData(): Record<string, unknown>
162
173
  {
163
174
  return this._appData;
164
175
  }
@@ -166,19 +177,12 @@ export class Consumer extends EnhancedEventEmitter
166
177
  /**
167
178
  * Invalid setter.
168
179
  */
169
- set appData(appData) // eslint-disable-line no-unused-vars
180
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
181
+ set appData(appData: Record<string, unknown>)
170
182
  {
171
183
  throw new Error('cannot override appData object');
172
184
  }
173
185
 
174
- /**
175
- * Observer.
176
- *
177
- * @emits close
178
- * @emits pause
179
- * @emits resume
180
- * @emits trackended
181
- */
182
186
  get observer(): EnhancedEventEmitter
183
187
  {
184
188
  return this._observer;
@@ -232,7 +236,14 @@ export class Consumer extends EnhancedEventEmitter
232
236
  if (this._closed)
233
237
  throw new InvalidStateError('closed');
234
238
 
235
- return this.safeEmitAsPromise('@getstats');
239
+ return new Promise<RTCStatsReport>((resolve, reject) =>
240
+ {
241
+ this.safeEmit(
242
+ '@getstats',
243
+ resolve,
244
+ reject
245
+ );
246
+ });
236
247
  }
237
248
 
238
249
  /**
@@ -2,6 +2,8 @@ import { Logger } from './Logger';
2
2
  import { EnhancedEventEmitter } from './EnhancedEventEmitter';
3
3
  import { SctpStreamParameters } from './SctpParameters';
4
4
 
5
+ const logger = new Logger('DataConsumer');
6
+
5
7
  export type DataConsumerOptions =
6
8
  {
7
9
  id?: string;
@@ -9,12 +11,26 @@ export type DataConsumerOptions =
9
11
  sctpStreamParameters: SctpStreamParameters;
10
12
  label?: string;
11
13
  protocol?: string;
12
- appData?: any;
14
+ appData?: Record<string, unknown>;
13
15
  }
14
16
 
15
- const logger = new Logger('DataConsumer');
17
+ export type DataConsumerEvents =
18
+ {
19
+ transportclose: [];
20
+ open: [];
21
+ error: [Error];
22
+ close: [];
23
+ message: [any];
24
+ // Private events.
25
+ '@close': [];
26
+ }
27
+
28
+ export type DataConsumerObserverEvents =
29
+ {
30
+ close: [];
31
+ }
16
32
 
17
- export class DataConsumer extends EnhancedEventEmitter
33
+ export class DataConsumer extends EnhancedEventEmitter<DataConsumerEvents>
18
34
  {
19
35
  // Id.
20
36
  private readonly _id: string;
@@ -27,18 +43,10 @@ export class DataConsumer extends EnhancedEventEmitter
27
43
  // SCTP stream parameters.
28
44
  private readonly _sctpStreamParameters: SctpStreamParameters;
29
45
  // App custom data.
30
- private readonly _appData: any;
46
+ private readonly _appData: Record<string, unknown>;
31
47
  // Observer instance.
32
- protected readonly _observer = new EnhancedEventEmitter();
48
+ protected readonly _observer = new EnhancedEventEmitter<DataConsumerObserverEvents>();
33
49
 
34
- /**
35
- * @emits transportclose
36
- * @emits open
37
- * @emits error - (error: Error)
38
- * @emits close
39
- * @emits message - (message: any)
40
- * @emits @close
41
- */
42
50
  constructor(
43
51
  {
44
52
  id,
@@ -52,7 +60,7 @@ export class DataConsumer extends EnhancedEventEmitter
52
60
  dataProducerId: string;
53
61
  dataChannel: RTCDataChannel;
54
62
  sctpStreamParameters: SctpStreamParameters;
55
- appData: any;
63
+ appData?: Record<string, unknown>;
56
64
  }
57
65
  )
58
66
  {
@@ -64,7 +72,7 @@ export class DataConsumer extends EnhancedEventEmitter
64
72
  this._dataProducerId = dataProducerId;
65
73
  this._dataChannel = dataChannel;
66
74
  this._sctpStreamParameters = sctpStreamParameters;
67
- this._appData = appData;
75
+ this._appData = appData || {};
68
76
 
69
77
  this._handleDataChannel();
70
78
  }
@@ -144,7 +152,7 @@ export class DataConsumer extends EnhancedEventEmitter
144
152
  /**
145
153
  * App custom data.
146
154
  */
147
- get appData(): any
155
+ get appData(): Record<string, unknown>
148
156
  {
149
157
  return this._appData;
150
158
  }
@@ -152,16 +160,12 @@ export class DataConsumer extends EnhancedEventEmitter
152
160
  /**
153
161
  * Invalid setter.
154
162
  */
155
- set appData(appData: any) // eslint-disable-line @typescript-eslint/no-unused-vars
163
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
164
+ set appData(appData: Record<string, unknown>)
156
165
  {
157
166
  throw new Error('cannot override appData object');
158
167
  }
159
168
 
160
- /**
161
- * Observer.
162
- *
163
- * @emits close
164
- */
165
169
  get observer(): EnhancedEventEmitter
166
170
  {
167
171
  return this._observer;