mediasoup-client 3.6.89 → 3.6.90

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 (125) hide show
  1. package/lib/index.d.ts +1435 -14
  2. package/lib/index.js +11884 -43
  3. package/lib/index.js.map +1 -0
  4. package/lib/index.mjs +11860 -0
  5. package/lib/index.mjs.map +1 -0
  6. package/npm-scripts.mjs +17 -11
  7. package/package.json +12 -8
  8. package/lib/Consumer.d.ts +0 -115
  9. package/lib/Consumer.d.ts.map +0 -1
  10. package/lib/Consumer.js +0 -190
  11. package/lib/DataConsumer.d.ts +0 -93
  12. package/lib/DataConsumer.d.ts.map +0 -1
  13. package/lib/DataConsumer.js +0 -162
  14. package/lib/DataProducer.d.ts +0 -97
  15. package/lib/DataProducer.d.ts.map +0 -1
  16. package/lib/DataProducer.js +0 -180
  17. package/lib/Device.d.ts +0 -92
  18. package/lib/Device.d.ts.map +0 -1
  19. package/lib/Device.js +0 -464
  20. package/lib/EnhancedEventEmitter.d.ts +0 -24
  21. package/lib/EnhancedEventEmitter.d.ts.map +0 -1
  22. package/lib/EnhancedEventEmitter.js +0 -70
  23. package/lib/Logger.d.ts +0 -11
  24. package/lib/Logger.d.ts.map +0 -1
  25. package/lib/Logger.js +0 -37
  26. package/lib/Producer.d.ts +0 -169
  27. package/lib/Producer.d.ts.map +0 -1
  28. package/lib/Producer.js +0 -287
  29. package/lib/RtpParameters.d.ts +0 -306
  30. package/lib/RtpParameters.d.ts.map +0 -1
  31. package/lib/RtpParameters.js +0 -6
  32. package/lib/SctpParameters.d.ts +0 -68
  33. package/lib/SctpParameters.d.ts.map +0 -1
  34. package/lib/SctpParameters.js +0 -2
  35. package/lib/Transport.d.ts +0 -243
  36. package/lib/Transport.d.ts.map +0 -1
  37. package/lib/Transport.js +0 -824
  38. package/lib/errors.d.ts +0 -13
  39. package/lib/errors.d.ts.map +0 -1
  40. package/lib/errors.js +0 -39
  41. package/lib/handlers/Chrome111.d.ts +0 -49
  42. package/lib/handlers/Chrome111.d.ts.map +0 -1
  43. package/lib/handlers/Chrome111.js +0 -658
  44. package/lib/handlers/Chrome55.d.ts +0 -51
  45. package/lib/handlers/Chrome55.d.ts.map +0 -1
  46. package/lib/handlers/Chrome55.js +0 -542
  47. package/lib/handlers/Chrome67.d.ts +0 -51
  48. package/lib/handlers/Chrome67.d.ts.map +0 -1
  49. package/lib/handlers/Chrome67.js +0 -598
  50. package/lib/handlers/Chrome70.d.ts +0 -49
  51. package/lib/handlers/Chrome70.d.ts.map +0 -1
  52. package/lib/handlers/Chrome70.js +0 -627
  53. package/lib/handlers/Chrome74.d.ts +0 -49
  54. package/lib/handlers/Chrome74.d.ts.map +0 -1
  55. package/lib/handlers/Chrome74.js +0 -675
  56. package/lib/handlers/Edge11.d.ts +0 -55
  57. package/lib/handlers/Edge11.d.ts.map +0 -1
  58. package/lib/handlers/Edge11.js +0 -447
  59. package/lib/handlers/FakeHandler.d.ts +0 -49
  60. package/lib/handlers/FakeHandler.d.ts.map +0 -1
  61. package/lib/handlers/FakeHandler.js +0 -276
  62. package/lib/handlers/Firefox60.d.ts +0 -48
  63. package/lib/handlers/Firefox60.d.ts.map +0 -1
  64. package/lib/handlers/Firefox60.js +0 -681
  65. package/lib/handlers/HandlerInterface.d.ts +0 -97
  66. package/lib/handlers/HandlerInterface.d.ts.map +0 -1
  67. package/lib/handlers/HandlerInterface.js +0 -10
  68. package/lib/handlers/ReactNative.d.ts +0 -51
  69. package/lib/handlers/ReactNative.d.ts.map +0 -1
  70. package/lib/handlers/ReactNative.js +0 -558
  71. package/lib/handlers/ReactNativeUnifiedPlan.d.ts +0 -49
  72. package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +0 -1
  73. package/lib/handlers/ReactNativeUnifiedPlan.js +0 -694
  74. package/lib/handlers/Safari11.d.ts +0 -51
  75. package/lib/handlers/Safari11.d.ts.map +0 -1
  76. package/lib/handlers/Safari11.js +0 -592
  77. package/lib/handlers/Safari12.d.ts +0 -49
  78. package/lib/handlers/Safari12.d.ts.map +0 -1
  79. package/lib/handlers/Safari12.js +0 -648
  80. package/lib/handlers/ortc/edgeUtils.d.ts +0 -11
  81. package/lib/handlers/ortc/edgeUtils.d.ts.map +0 -1
  82. package/lib/handlers/ortc/edgeUtils.js +0 -86
  83. package/lib/handlers/ortc/utils.d.ts +0 -6
  84. package/lib/handlers/ortc/utils.d.ts.map +0 -1
  85. package/lib/handlers/ortc/utils.js +0 -20
  86. package/lib/handlers/sdp/MediaSection.d.ts +0 -68
  87. package/lib/handlers/sdp/MediaSection.d.ts.map +0 -1
  88. package/lib/handlers/sdp/MediaSection.js +0 -589
  89. package/lib/handlers/sdp/RemoteSdp.d.ts +0 -75
  90. package/lib/handlers/sdp/RemoteSdp.d.ts.map +0 -1
  91. package/lib/handlers/sdp/RemoteSdp.js +0 -303
  92. package/lib/handlers/sdp/commonUtils.d.ts +0 -24
  93. package/lib/handlers/sdp/commonUtils.d.ts.map +0 -1
  94. package/lib/handlers/sdp/commonUtils.js +0 -224
  95. package/lib/handlers/sdp/plainRtpUtils.d.ts +0 -14
  96. package/lib/handlers/sdp/plainRtpUtils.d.ts.map +0 -1
  97. package/lib/handlers/sdp/plainRtpUtils.js +0 -33
  98. package/lib/handlers/sdp/planBUtils.d.ts +0 -14
  99. package/lib/handlers/sdp/planBUtils.d.ts.map +0 -1
  100. package/lib/handlers/sdp/planBUtils.js +0 -155
  101. package/lib/handlers/sdp/unifiedPlanUtils.d.ts +0 -12
  102. package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +0 -1
  103. package/lib/handlers/sdp/unifiedPlanUtils.js +0 -131
  104. package/lib/index.d.ts.map +0 -1
  105. package/lib/ortc.d.ts +0 -123
  106. package/lib/ortc.d.ts.map +0 -1
  107. package/lib/ortc.js +0 -943
  108. package/lib/scalabilityModes.d.ts +0 -6
  109. package/lib/scalabilityModes.d.ts.map +0 -1
  110. package/lib/scalabilityModes.js +0 -20
  111. package/lib/tests/fakeParameters.d.ts +0 -20
  112. package/lib/tests/fakeParameters.d.ts.map +0 -1
  113. package/lib/tests/fakeParameters.js +0 -659
  114. package/lib/tests/test.d.ts +0 -6
  115. package/lib/tests/test.d.ts.map +0 -1
  116. package/lib/tests/test.js +0 -1297
  117. package/lib/tests/uaTestCases.d.ts +0 -9
  118. package/lib/tests/uaTestCases.d.ts.map +0 -1
  119. package/lib/tests/uaTestCases.js +0 -85
  120. package/lib/types.d.ts +0 -15
  121. package/lib/types.d.ts.map +0 -1
  122. package/lib/types.js +0 -26
  123. package/lib/utils.d.ts +0 -9
  124. package/lib/utils.d.ts.map +0 -1
  125. package/lib/utils.js +0 -20
package/npm-scripts.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import process from 'process';
2
+ import path from 'path';
2
3
  import os from 'os';
3
4
  import fs from 'fs';
4
5
  import { execSync } from 'child_process';
@@ -43,15 +44,9 @@ async function run()
43
44
 
44
45
  case 'typescript:watch':
45
46
  {
46
- // NOTE: Load dep on demand since it's a devDependency.
47
- const { TscWatchClient } = await import('tsc-watch/client.js');
48
-
49
- const watch = new TscWatchClient();
50
-
51
47
  deleteLib();
52
-
53
- watch.on('success', replaceVersion);
54
- watch.start('--pretty');
48
+ // NOTE: We need to enable tsc emit so it writes node/lib.
49
+ executeCmd('tsc --noEmit false --watch');
55
50
 
56
51
  break;
57
52
  }
@@ -122,14 +117,24 @@ function replaceVersion()
122
117
  {
123
118
  logInfo('replaceVersion()');
124
119
 
125
- const files = [ 'lib/index.js', 'lib/index.d.ts' ];
120
+ const files = fs.readdirSync('lib',
121
+ {
122
+ withFileTypes : true,
123
+ recursive : true
124
+ });
126
125
 
127
126
  for (const file of files)
128
127
  {
129
- const text = fs.readFileSync(file, { encoding: 'utf8' });
128
+ if (!file.isFile())
129
+ {
130
+ continue;
131
+ }
132
+
133
+ const filePath = path.join('lib', file.name);
134
+ const text = fs.readFileSync(filePath, { encoding: 'utf8' });
130
135
  const result = text.replace(/__MEDIASOUP_CLIENT_VERSION__/g, PKG.version);
131
136
 
132
- fs.writeFileSync(file, result, { encoding: 'utf8' });
137
+ fs.writeFileSync(filePath, result, { encoding: 'utf8' });
133
138
  }
134
139
  }
135
140
 
@@ -164,6 +169,7 @@ function buildTypescript(force = false)
164
169
 
165
170
  deleteLib();
166
171
  executeCmd('tsc');
172
+ executeCmd('rollup --config');
167
173
  }
168
174
 
169
175
  function lint()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup-client",
3
- "version": "3.6.89",
3
+ "version": "3.6.90",
4
4
  "description": "mediasoup client side JavaScript library",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -17,6 +17,7 @@
17
17
  "url": "https://opencollective.com/mediasoup"
18
18
  },
19
19
  "main": "lib/index.js",
20
+ "module": "lib/index.mjs",
20
21
  "types": "lib/index.d.ts",
21
22
  "files": [
22
23
  "npm-scripts.mjs",
@@ -69,7 +70,7 @@
69
70
  "h264-profile-level-id": "^1.0.1",
70
71
  "queue-microtask": "^1.2.3",
71
72
  "sdp-transform": "^2.14.1",
72
- "supports-color": "^9.3.1",
73
+ "supports-color": "^9.4.0",
73
74
  "ua-parser-js": "^1.0.35"
74
75
  },
75
76
  "devDependencies": {
@@ -77,14 +78,17 @@
77
78
  "@types/jest": "^29.5.2",
78
79
  "@types/sdp-transform": "^2.4.6",
79
80
  "@types/ua-parser-js": "^0.7.36",
80
- "@typescript-eslint/eslint-plugin": "^5.60.0",
81
- "@typescript-eslint/parser": "^5.60.0",
82
- "eslint": "^8.43.0",
81
+ "@typescript-eslint/eslint-plugin": "^5.60.1",
82
+ "@typescript-eslint/parser": "^5.60.1",
83
+ "esbuild": "^0.18.11",
84
+ "eslint": "^8.44.0",
83
85
  "eslint-plugin-jest": "^27.2.2",
84
86
  "jest": "^29.5.0",
85
87
  "open-cli": "^7.2.0",
86
- "ts-jest": "^29.1.0",
87
- "tsc-watch": "^6.0.4",
88
- "typescript": "^5.1.3"
88
+ "rollup": "^3.26.0",
89
+ "rollup-plugin-dts": "^5.3.0",
90
+ "rollup-plugin-esbuild": "^5.0.0",
91
+ "ts-jest": "^29.1.1",
92
+ "typescript": "^5.1.6"
89
93
  }
90
94
  }
package/lib/Consumer.d.ts DELETED
@@ -1,115 +0,0 @@
1
- import { EnhancedEventEmitter } from './EnhancedEventEmitter';
2
- import { MediaKind, RtpParameters } from './RtpParameters';
3
- import { AppData } from './types';
4
- export type ConsumerOptions<ConsumerAppData extends AppData = AppData> = {
5
- id?: string;
6
- producerId?: string;
7
- kind?: 'audio' | 'video';
8
- rtpParameters: RtpParameters;
9
- streamId?: string;
10
- appData?: ConsumerAppData;
11
- };
12
- export type ConsumerEvents = {
13
- transportclose: [];
14
- trackended: [];
15
- '@getstats': [(stats: RTCStatsReport) => void, (error: Error) => void];
16
- '@close': [];
17
- '@pause': [];
18
- '@resume': [];
19
- };
20
- export type ConsumerObserverEvents = {
21
- close: [];
22
- pause: [];
23
- resume: [];
24
- trackended: [];
25
- };
26
- export declare class Consumer<ConsumerAppData extends AppData = AppData> extends EnhancedEventEmitter<ConsumerEvents> {
27
- private readonly _id;
28
- private readonly _localId;
29
- private readonly _producerId;
30
- private _closed;
31
- private readonly _rtpReceiver?;
32
- private readonly _track;
33
- private readonly _rtpParameters;
34
- private _paused;
35
- private _appData;
36
- protected readonly _observer: EnhancedEventEmitter<ConsumerObserverEvents>;
37
- constructor({ id, localId, producerId, rtpReceiver, track, rtpParameters, appData }: {
38
- id: string;
39
- localId: string;
40
- producerId: string;
41
- rtpReceiver?: RTCRtpReceiver;
42
- track: MediaStreamTrack;
43
- rtpParameters: RtpParameters;
44
- appData?: ConsumerAppData;
45
- });
46
- /**
47
- * Consumer id.
48
- */
49
- get id(): string;
50
- /**
51
- * Local id.
52
- */
53
- get localId(): string;
54
- /**
55
- * Associated Producer id.
56
- */
57
- get producerId(): string;
58
- /**
59
- * Whether the Consumer is closed.
60
- */
61
- get closed(): boolean;
62
- /**
63
- * Media kind.
64
- */
65
- get kind(): MediaKind;
66
- /**
67
- * Associated RTCRtpReceiver.
68
- */
69
- get rtpReceiver(): RTCRtpReceiver | undefined;
70
- /**
71
- * The associated track.
72
- */
73
- get track(): MediaStreamTrack;
74
- /**
75
- * RTP parameters.
76
- */
77
- get rtpParameters(): RtpParameters;
78
- /**
79
- * Whether the Consumer is paused.
80
- */
81
- get paused(): boolean;
82
- /**
83
- * App custom data.
84
- */
85
- get appData(): ConsumerAppData;
86
- /**
87
- * App custom data setter.
88
- */
89
- set appData(appData: ConsumerAppData);
90
- get observer(): EnhancedEventEmitter;
91
- /**
92
- * Closes the Consumer.
93
- */
94
- close(): void;
95
- /**
96
- * Transport was closed.
97
- */
98
- transportClosed(): void;
99
- /**
100
- * Get associated RTCRtpReceiver stats.
101
- */
102
- getStats(): Promise<RTCStatsReport>;
103
- /**
104
- * Pauses receiving media.
105
- */
106
- pause(): void;
107
- /**
108
- * Resumes receiving media.
109
- */
110
- resume(): void;
111
- private onTrackEnded;
112
- private handleTrack;
113
- private destroyTrack;
114
- }
115
- //# sourceMappingURL=Consumer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Consumer.d.ts","sourceRoot":"","sources":["../src/Consumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,eAAe,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,IACrE;IACC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAC1B;IACC,cAAc,EAAE,EAAE,CAAC;IACnB,UAAU,EAAE,EAAE,CAAC;IAEf,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;IACvE,QAAQ,EAAE,EAAE,CAAC;IACb,QAAQ,EAAE,EAAE,CAAC;IACb,SAAS,EAAE,EAAE,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAClC;IACC,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,EAAE,CAAC;IACX,UAAU,EAAE,EAAE,CAAC;CACf,CAAC;AAEF,qBAAa,QAAQ,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,CAC9D,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAG5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiB;IAE/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,QAAQ,CAAkB;IAElC,SAAS,CAAC,QAAQ,CAAC,SAAS,+CAAsD;gBAGjF,EACC,EAAE,EACF,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,EACL,aAAa,EACb,OAAO,EACP,EACD;QACC,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,cAAc,CAAC;QAC7B,KAAK,EAAE,gBAAgB,CAAC;QACxB,aAAa,EAAE,aAAa,CAAC;QAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;KAC1B;IAoBF;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAGf;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAGpB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,cAAc,GAAG,SAAS,CAG5C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,gBAAgB,CAG5B;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,aAAa,CAGjC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,eAAe,CAG7B;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,eAAe,EAGnC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAmBb;;OAEG;IACH,eAAe,IAAI,IAAI;IAmBvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAiBzC;;OAEG;IACH,KAAK,IAAI,IAAI;IA2Bb;;OAEG;IACH,MAAM,IAAI,IAAI;IA2Bd,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;CAUpB"}
package/lib/Consumer.js DELETED
@@ -1,190 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Consumer = void 0;
4
- const Logger_1 = require("./Logger");
5
- const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
6
- const errors_1 = require("./errors");
7
- const logger = new Logger_1.Logger('Consumer');
8
- class Consumer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
9
- constructor({ id, localId, producerId, rtpReceiver, track, rtpParameters, appData }) {
10
- super();
11
- // Closed flag.
12
- this._closed = false;
13
- // Observer instance.
14
- this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
15
- logger.debug('constructor()');
16
- this._id = id;
17
- this._localId = localId;
18
- this._producerId = producerId;
19
- this._rtpReceiver = rtpReceiver;
20
- this._track = track;
21
- this._rtpParameters = rtpParameters;
22
- this._paused = !track.enabled;
23
- this._appData = appData || {};
24
- this.onTrackEnded = this.onTrackEnded.bind(this);
25
- this.handleTrack();
26
- }
27
- /**
28
- * Consumer id.
29
- */
30
- get id() {
31
- return this._id;
32
- }
33
- /**
34
- * Local id.
35
- */
36
- get localId() {
37
- return this._localId;
38
- }
39
- /**
40
- * Associated Producer id.
41
- */
42
- get producerId() {
43
- return this._producerId;
44
- }
45
- /**
46
- * Whether the Consumer is closed.
47
- */
48
- get closed() {
49
- return this._closed;
50
- }
51
- /**
52
- * Media kind.
53
- */
54
- get kind() {
55
- return this._track.kind;
56
- }
57
- /**
58
- * Associated RTCRtpReceiver.
59
- */
60
- get rtpReceiver() {
61
- return this._rtpReceiver;
62
- }
63
- /**
64
- * The associated track.
65
- */
66
- get track() {
67
- return this._track;
68
- }
69
- /**
70
- * RTP parameters.
71
- */
72
- get rtpParameters() {
73
- return this._rtpParameters;
74
- }
75
- /**
76
- * Whether the Consumer is paused.
77
- */
78
- get paused() {
79
- return this._paused;
80
- }
81
- /**
82
- * App custom data.
83
- */
84
- get appData() {
85
- return this._appData;
86
- }
87
- /**
88
- * App custom data setter.
89
- */
90
- set appData(appData) {
91
- this._appData = appData;
92
- }
93
- get observer() {
94
- return this._observer;
95
- }
96
- /**
97
- * Closes the Consumer.
98
- */
99
- close() {
100
- if (this._closed) {
101
- return;
102
- }
103
- logger.debug('close()');
104
- this._closed = true;
105
- this.destroyTrack();
106
- this.emit('@close');
107
- // Emit observer event.
108
- this._observer.safeEmit('close');
109
- }
110
- /**
111
- * Transport was closed.
112
- */
113
- transportClosed() {
114
- if (this._closed) {
115
- return;
116
- }
117
- logger.debug('transportClosed()');
118
- this._closed = true;
119
- this.destroyTrack();
120
- this.safeEmit('transportclose');
121
- // Emit observer event.
122
- this._observer.safeEmit('close');
123
- }
124
- /**
125
- * Get associated RTCRtpReceiver stats.
126
- */
127
- async getStats() {
128
- if (this._closed) {
129
- throw new errors_1.InvalidStateError('closed');
130
- }
131
- return new Promise((resolve, reject) => {
132
- this.safeEmit('@getstats', resolve, reject);
133
- });
134
- }
135
- /**
136
- * Pauses receiving media.
137
- */
138
- pause() {
139
- logger.debug('pause()');
140
- if (this._closed) {
141
- logger.error('pause() | Consumer closed');
142
- return;
143
- }
144
- if (this._paused) {
145
- logger.debug('pause() | Consumer is already paused');
146
- return;
147
- }
148
- this._paused = true;
149
- this._track.enabled = false;
150
- this.emit('@pause');
151
- // Emit observer event.
152
- this._observer.safeEmit('pause');
153
- }
154
- /**
155
- * Resumes receiving media.
156
- */
157
- resume() {
158
- logger.debug('resume()');
159
- if (this._closed) {
160
- logger.error('resume() | Consumer closed');
161
- return;
162
- }
163
- if (!this._paused) {
164
- logger.debug('resume() | Consumer is already resumed');
165
- return;
166
- }
167
- this._paused = false;
168
- this._track.enabled = true;
169
- this.emit('@resume');
170
- // Emit observer event.
171
- this._observer.safeEmit('resume');
172
- }
173
- onTrackEnded() {
174
- logger.debug('track "ended" event');
175
- this.safeEmit('trackended');
176
- // Emit observer event.
177
- this._observer.safeEmit('trackended');
178
- }
179
- handleTrack() {
180
- this._track.addEventListener('ended', this.onTrackEnded);
181
- }
182
- destroyTrack() {
183
- try {
184
- this._track.removeEventListener('ended', this.onTrackEnded);
185
- this._track.stop();
186
- }
187
- catch (error) { }
188
- }
189
- }
190
- exports.Consumer = Consumer;
@@ -1,93 +0,0 @@
1
- import { EnhancedEventEmitter } from './EnhancedEventEmitter';
2
- import { SctpStreamParameters } from './SctpParameters';
3
- import { AppData } from './types';
4
- export type DataConsumerOptions<DataConsumerAppData extends AppData = AppData> = {
5
- id?: string;
6
- dataProducerId?: string;
7
- sctpStreamParameters: SctpStreamParameters;
8
- label?: string;
9
- protocol?: string;
10
- appData?: DataConsumerAppData;
11
- };
12
- export type DataConsumerEvents = {
13
- transportclose: [];
14
- open: [];
15
- error: [Error];
16
- close: [];
17
- message: [any];
18
- '@close': [];
19
- };
20
- export type DataConsumerObserverEvents = {
21
- close: [];
22
- };
23
- export declare class DataConsumer<DataConsumerAppData extends AppData = AppData> extends EnhancedEventEmitter<DataConsumerEvents> {
24
- private readonly _id;
25
- private readonly _dataProducerId;
26
- private readonly _dataChannel;
27
- private _closed;
28
- private readonly _sctpStreamParameters;
29
- private _appData;
30
- protected readonly _observer: EnhancedEventEmitter<DataConsumerObserverEvents>;
31
- constructor({ id, dataProducerId, dataChannel, sctpStreamParameters, appData }: {
32
- id: string;
33
- dataProducerId: string;
34
- dataChannel: RTCDataChannel;
35
- sctpStreamParameters: SctpStreamParameters;
36
- appData?: DataConsumerAppData;
37
- });
38
- /**
39
- * DataConsumer id.
40
- */
41
- get id(): string;
42
- /**
43
- * Associated DataProducer id.
44
- */
45
- get dataProducerId(): string;
46
- /**
47
- * Whether the DataConsumer is closed.
48
- */
49
- get closed(): boolean;
50
- /**
51
- * SCTP stream parameters.
52
- */
53
- get sctpStreamParameters(): SctpStreamParameters;
54
- /**
55
- * DataChannel readyState.
56
- */
57
- get readyState(): RTCDataChannelState;
58
- /**
59
- * DataChannel label.
60
- */
61
- get label(): string;
62
- /**
63
- * DataChannel protocol.
64
- */
65
- get protocol(): string;
66
- /**
67
- * DataChannel binaryType.
68
- */
69
- get binaryType(): BinaryType;
70
- /**
71
- * Set DataChannel binaryType.
72
- */
73
- set binaryType(binaryType: BinaryType);
74
- /**
75
- * App custom data.
76
- */
77
- get appData(): DataConsumerAppData;
78
- /**
79
- * App custom data setter.
80
- */
81
- set appData(appData: DataConsumerAppData);
82
- get observer(): EnhancedEventEmitter;
83
- /**
84
- * Closes the DataConsumer.
85
- */
86
- close(): void;
87
- /**
88
- * Transport was closed.
89
- */
90
- transportClosed(): void;
91
- private handleDataChannel;
92
- }
93
- //# sourceMappingURL=DataConsumer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataConsumer.d.ts","sourceRoot":"","sources":["../src/DataConsumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,mBAAmB,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,IAC7E;IACC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC9B;IACC,cAAc,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,QAAQ,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACtC;IACC,KAAK,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,qBAAa,YAAY,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,CACtE,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IAGhD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAE7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,SAAS,CAAC,QAAQ,CAAC,SAAS,mDAA0D;gBAGrF,EACC,EAAE,EACF,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,OAAO,EACP,EACD;QACC,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,cAAc,CAAC;QAC5B,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC9B;IAgBF;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAGf;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,oBAAoB,CAG/C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,mBAAmB,CAGpC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAG3B;IAED;;OAEG;IACH,IAAI,UAAU,CAAC,UAAU,EAAE,UAAU,EAGpC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,mBAAmB,CAGjC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAGvC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAmBb;;OAEG;IACH,eAAe,IAAI,IAAI;IAmBvB,OAAO,CAAC,iBAAiB;CAsEzB"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataConsumer = void 0;
4
- const Logger_1 = require("./Logger");
5
- const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
6
- const logger = new Logger_1.Logger('DataConsumer');
7
- class DataConsumer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
8
- constructor({ id, dataProducerId, dataChannel, sctpStreamParameters, appData }) {
9
- super();
10
- // Closed flag.
11
- this._closed = false;
12
- // Observer instance.
13
- this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
14
- logger.debug('constructor()');
15
- this._id = id;
16
- this._dataProducerId = dataProducerId;
17
- this._dataChannel = dataChannel;
18
- this._sctpStreamParameters = sctpStreamParameters;
19
- this._appData = appData || {};
20
- this.handleDataChannel();
21
- }
22
- /**
23
- * DataConsumer id.
24
- */
25
- get id() {
26
- return this._id;
27
- }
28
- /**
29
- * Associated DataProducer id.
30
- */
31
- get dataProducerId() {
32
- return this._dataProducerId;
33
- }
34
- /**
35
- * Whether the DataConsumer is closed.
36
- */
37
- get closed() {
38
- return this._closed;
39
- }
40
- /**
41
- * SCTP stream parameters.
42
- */
43
- get sctpStreamParameters() {
44
- return this._sctpStreamParameters;
45
- }
46
- /**
47
- * DataChannel readyState.
48
- */
49
- get readyState() {
50
- return this._dataChannel.readyState;
51
- }
52
- /**
53
- * DataChannel label.
54
- */
55
- get label() {
56
- return this._dataChannel.label;
57
- }
58
- /**
59
- * DataChannel protocol.
60
- */
61
- get protocol() {
62
- return this._dataChannel.protocol;
63
- }
64
- /**
65
- * DataChannel binaryType.
66
- */
67
- get binaryType() {
68
- return this._dataChannel.binaryType;
69
- }
70
- /**
71
- * Set DataChannel binaryType.
72
- */
73
- set binaryType(binaryType) {
74
- this._dataChannel.binaryType = binaryType;
75
- }
76
- /**
77
- * App custom data.
78
- */
79
- get appData() {
80
- return this._appData;
81
- }
82
- /**
83
- * App custom data setter.
84
- */
85
- set appData(appData) {
86
- this._appData = appData;
87
- }
88
- get observer() {
89
- return this._observer;
90
- }
91
- /**
92
- * Closes the DataConsumer.
93
- */
94
- close() {
95
- if (this._closed) {
96
- return;
97
- }
98
- logger.debug('close()');
99
- this._closed = true;
100
- this._dataChannel.close();
101
- this.emit('@close');
102
- // Emit observer event.
103
- this._observer.safeEmit('close');
104
- }
105
- /**
106
- * Transport was closed.
107
- */
108
- transportClosed() {
109
- if (this._closed) {
110
- return;
111
- }
112
- logger.debug('transportClosed()');
113
- this._closed = true;
114
- this._dataChannel.close();
115
- this.safeEmit('transportclose');
116
- // Emit observer event.
117
- this._observer.safeEmit('close');
118
- }
119
- handleDataChannel() {
120
- this._dataChannel.addEventListener('open', () => {
121
- if (this._closed) {
122
- return;
123
- }
124
- logger.debug('DataChannel "open" event');
125
- this.safeEmit('open');
126
- });
127
- this._dataChannel.addEventListener('error', (event) => {
128
- if (this._closed) {
129
- return;
130
- }
131
- let { error } = event;
132
- if (!error) {
133
- error = new Error('unknown DataChannel error');
134
- }
135
- if (error.errorDetail === 'sctp-failure') {
136
- logger.error('DataChannel SCTP error [sctpCauseCode:%s]: %s', error.sctpCauseCode, error.message);
137
- }
138
- else {
139
- logger.error('DataChannel "error" event: %o', error);
140
- }
141
- this.safeEmit('error', error);
142
- });
143
- this._dataChannel.addEventListener('close', () => {
144
- if (this._closed) {
145
- return;
146
- }
147
- logger.warn('DataChannel "close" event');
148
- this._closed = true;
149
- this.emit('@close');
150
- this.safeEmit('close');
151
- // Emit observer event.
152
- this._observer.safeEmit('close');
153
- });
154
- this._dataChannel.addEventListener('message', (event) => {
155
- if (this._closed) {
156
- return;
157
- }
158
- this.safeEmit('message', event.data);
159
- });
160
- }
161
- }
162
- exports.DataConsumer = DataConsumer;