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/lib/Device.js DELETED
@@ -1,464 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
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);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Device = exports.detectDevice = void 0;
27
- const ua_parser_js_1 = require("ua-parser-js");
28
- const Logger_1 = require("./Logger");
29
- const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
30
- const errors_1 = require("./errors");
31
- const utils = __importStar(require("./utils"));
32
- const ortc = __importStar(require("./ortc"));
33
- const Transport_1 = require("./Transport");
34
- const Chrome111_1 = require("./handlers/Chrome111");
35
- const Chrome74_1 = require("./handlers/Chrome74");
36
- const Chrome70_1 = require("./handlers/Chrome70");
37
- const Chrome67_1 = require("./handlers/Chrome67");
38
- const Chrome55_1 = require("./handlers/Chrome55");
39
- const Firefox60_1 = require("./handlers/Firefox60");
40
- const Safari12_1 = require("./handlers/Safari12");
41
- const Safari11_1 = require("./handlers/Safari11");
42
- const Edge11_1 = require("./handlers/Edge11");
43
- const ReactNativeUnifiedPlan_1 = require("./handlers/ReactNativeUnifiedPlan");
44
- const ReactNative_1 = require("./handlers/ReactNative");
45
- const logger = new Logger_1.Logger('Device');
46
- function detectDevice() {
47
- var _a, _b, _c, _d, _e, _f, _g, _h;
48
- // React-Native.
49
- // NOTE: react-native-webrtc >= 1.75.0 is required.
50
- // NOTE: react-native-webrtc with Unified Plan requires version >= 106.0.0.
51
- if (typeof navigator === 'object' && navigator.product === 'ReactNative') {
52
- logger.debug('detectDevice() | React-Native detected');
53
- if (typeof RTCPeerConnection === 'undefined') {
54
- logger.warn('detectDevice() | unsupported react-native-webrtc without RTCPeerConnection, forgot to call registerGlobals()?');
55
- return undefined;
56
- }
57
- if (typeof RTCRtpTransceiver !== 'undefined') {
58
- logger.debug('detectDevice() | ReactNative UnifiedPlan handler chosen');
59
- return 'ReactNativeUnifiedPlan';
60
- }
61
- else {
62
- logger.debug('detectDevice() | ReactNative PlanB handler chosen');
63
- return 'ReactNative';
64
- }
65
- }
66
- // Browser.
67
- else if (typeof navigator === 'object' && typeof navigator.userAgent === 'string') {
68
- const ua = navigator.userAgent;
69
- const uaParser = new ua_parser_js_1.UAParser(ua);
70
- logger.debug('detectDevice() | browser detected [ua:%s, parsed:%o]', ua, uaParser.getResult());
71
- const browser = uaParser.getBrowser();
72
- const browserName = (_b = (_a = browser.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';
73
- const browserVersion = parseInt((_c = browser.major) !== null && _c !== void 0 ? _c : '0');
74
- const engine = uaParser.getEngine();
75
- const engineName = (_e = (_d = engine.name) === null || _d === void 0 ? void 0 : _d.toLowerCase()) !== null && _e !== void 0 ? _e : '';
76
- const os = uaParser.getOS();
77
- const osName = (_g = (_f = os.name) === null || _f === void 0 ? void 0 : _f.toLowerCase()) !== null && _g !== void 0 ? _g : '';
78
- const osVersion = parseFloat((_h = os.version) !== null && _h !== void 0 ? _h : '0');
79
- const isIOS = osName === 'ios';
80
- const isChrome = [
81
- 'chrome',
82
- 'chromium',
83
- 'mobile chrome',
84
- 'chrome webview',
85
- 'chrome headless'
86
- ].includes(browserName);
87
- const isFirefox = [
88
- 'firefox',
89
- 'mobile firefox',
90
- 'mobile focus'
91
- ].includes(browserName);
92
- const isSafari = [
93
- 'safari',
94
- 'mobile safari'
95
- ].includes(browserName);
96
- const isEdge = ['edge'].includes(browserName);
97
- // Chrome, Chromium, and Edge.
98
- if ((isChrome || isEdge) && !isIOS && browserVersion >= 111) {
99
- return 'Chrome111';
100
- }
101
- else if ((isChrome && !isIOS && browserVersion >= 74) ||
102
- (isEdge && !isIOS && browserVersion >= 88)) {
103
- return 'Chrome74';
104
- }
105
- else if (isChrome && !isIOS && browserVersion >= 70) {
106
- return 'Chrome70';
107
- }
108
- else if (isChrome && !isIOS && browserVersion >= 67) {
109
- return 'Chrome67';
110
- }
111
- else if (isChrome && !isIOS && browserVersion >= 55) {
112
- return 'Chrome55';
113
- }
114
- // Firefox.
115
- else if (isFirefox && !isIOS && browserVersion >= 60) {
116
- return 'Firefox60';
117
- }
118
- // Firefox on iOS (so Safari).
119
- else if (isFirefox && isIOS && osVersion >= 14.3) {
120
- return 'Safari12';
121
- }
122
- // Safari with Unified-Plan support enabled.
123
- else if (isSafari &&
124
- browserVersion >= 12 &&
125
- typeof RTCRtpTransceiver !== 'undefined' &&
126
- RTCRtpTransceiver.prototype.hasOwnProperty('currentDirection')) {
127
- return 'Safari12';
128
- }
129
- // Safari with Plab-B support.
130
- else if (isSafari && browserVersion >= 11) {
131
- return 'Safari11';
132
- }
133
- // Old Edge with ORTC support.
134
- else if (isEdge && !isIOS && browserVersion >= 11 && browserVersion <= 18) {
135
- return 'Edge11';
136
- }
137
- // Best effort for WebKit based browsers in iOS.
138
- else if (engineName === 'webkit' &&
139
- isIOS &&
140
- osVersion >= 14.3 &&
141
- typeof RTCRtpTransceiver !== 'undefined' &&
142
- RTCRtpTransceiver.prototype.hasOwnProperty('currentDirection')) {
143
- return 'Safari12';
144
- }
145
- // Best effort for Chromium based browsers.
146
- else if (engineName === 'blink') {
147
- const match = ua.match(/(?:(?:Chrome|Chromium))[ /](\w+)/i);
148
- if (match) {
149
- const version = Number(match[1]);
150
- if (version >= 111) {
151
- return 'Chrome111';
152
- }
153
- else if (version >= 74) {
154
- return 'Chrome74';
155
- }
156
- else if (version >= 70) {
157
- return 'Chrome70';
158
- }
159
- else if (version >= 67) {
160
- return 'Chrome67';
161
- }
162
- else {
163
- return 'Chrome55';
164
- }
165
- }
166
- else {
167
- return 'Chrome111';
168
- }
169
- }
170
- // Unsupported browser.
171
- else {
172
- logger.warn('detectDevice() | browser not supported [name:%s, version:%s]', browserName, browserVersion);
173
- return undefined;
174
- }
175
- }
176
- // Unknown device.
177
- else {
178
- logger.warn('detectDevice() | unknown device');
179
- return undefined;
180
- }
181
- }
182
- exports.detectDevice = detectDevice;
183
- class Device {
184
- /**
185
- * Create a new Device to connect to mediasoup server.
186
- *
187
- * @throws {UnsupportedError} if device is not supported.
188
- */
189
- constructor({ handlerName, handlerFactory, Handler } = {}) {
190
- // Loaded flag.
191
- this._loaded = false;
192
- // Observer instance.
193
- this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
194
- logger.debug('constructor()');
195
- // Handle deprecated option.
196
- if (Handler) {
197
- logger.warn('constructor() | Handler option is DEPRECATED, use handlerName or handlerFactory instead');
198
- if (typeof Handler === 'string') {
199
- handlerName = Handler;
200
- }
201
- else {
202
- throw new TypeError('non string Handler option no longer supported, use handlerFactory instead');
203
- }
204
- }
205
- if (handlerName && handlerFactory) {
206
- throw new TypeError('just one of handlerName or handlerInterface can be given');
207
- }
208
- if (handlerFactory) {
209
- this._handlerFactory = handlerFactory;
210
- }
211
- else {
212
- if (handlerName) {
213
- logger.debug('constructor() | handler given: %s', handlerName);
214
- }
215
- else {
216
- handlerName = detectDevice();
217
- if (handlerName) {
218
- logger.debug('constructor() | detected handler: %s', handlerName);
219
- }
220
- else {
221
- throw new errors_1.UnsupportedError('device not supported');
222
- }
223
- }
224
- switch (handlerName) {
225
- case 'Chrome111':
226
- this._handlerFactory = Chrome111_1.Chrome111.createFactory();
227
- break;
228
- case 'Chrome74':
229
- this._handlerFactory = Chrome74_1.Chrome74.createFactory();
230
- break;
231
- case 'Chrome70':
232
- this._handlerFactory = Chrome70_1.Chrome70.createFactory();
233
- break;
234
- case 'Chrome67':
235
- this._handlerFactory = Chrome67_1.Chrome67.createFactory();
236
- break;
237
- case 'Chrome55':
238
- this._handlerFactory = Chrome55_1.Chrome55.createFactory();
239
- break;
240
- case 'Firefox60':
241
- this._handlerFactory = Firefox60_1.Firefox60.createFactory();
242
- break;
243
- case 'Safari12':
244
- this._handlerFactory = Safari12_1.Safari12.createFactory();
245
- break;
246
- case 'Safari11':
247
- this._handlerFactory = Safari11_1.Safari11.createFactory();
248
- break;
249
- case 'Edge11':
250
- this._handlerFactory = Edge11_1.Edge11.createFactory();
251
- break;
252
- case 'ReactNativeUnifiedPlan':
253
- this._handlerFactory = ReactNativeUnifiedPlan_1.ReactNativeUnifiedPlan.createFactory();
254
- break;
255
- case 'ReactNative':
256
- this._handlerFactory = ReactNative_1.ReactNative.createFactory();
257
- break;
258
- default:
259
- throw new TypeError(`unknown handlerName "${handlerName}"`);
260
- }
261
- }
262
- // Create a temporal handler to get its name.
263
- const handler = this._handlerFactory();
264
- this._handlerName = handler.name;
265
- handler.close();
266
- this._extendedRtpCapabilities = undefined;
267
- this._recvRtpCapabilities = undefined;
268
- this._canProduceByKind =
269
- {
270
- audio: false,
271
- video: false
272
- };
273
- this._sctpCapabilities = undefined;
274
- }
275
- /**
276
- * The RTC handler name.
277
- */
278
- get handlerName() {
279
- return this._handlerName;
280
- }
281
- /**
282
- * Whether the Device is loaded.
283
- */
284
- get loaded() {
285
- return this._loaded;
286
- }
287
- /**
288
- * RTP capabilities of the Device for receiving media.
289
- *
290
- * @throws {InvalidStateError} if not loaded.
291
- */
292
- get rtpCapabilities() {
293
- if (!this._loaded) {
294
- throw new errors_1.InvalidStateError('not loaded');
295
- }
296
- return this._recvRtpCapabilities;
297
- }
298
- /**
299
- * SCTP capabilities of the Device.
300
- *
301
- * @throws {InvalidStateError} if not loaded.
302
- */
303
- get sctpCapabilities() {
304
- if (!this._loaded) {
305
- throw new errors_1.InvalidStateError('not loaded');
306
- }
307
- return this._sctpCapabilities;
308
- }
309
- get observer() {
310
- return this._observer;
311
- }
312
- /**
313
- * Initialize the Device.
314
- */
315
- async load({ routerRtpCapabilities }) {
316
- logger.debug('load() [routerRtpCapabilities:%o]', routerRtpCapabilities);
317
- routerRtpCapabilities = utils.clone(routerRtpCapabilities, undefined);
318
- // Temporal handler to get its capabilities.
319
- let handler;
320
- try {
321
- if (this._loaded) {
322
- throw new errors_1.InvalidStateError('already loaded');
323
- }
324
- // This may throw.
325
- ortc.validateRtpCapabilities(routerRtpCapabilities);
326
- handler = this._handlerFactory();
327
- const nativeRtpCapabilities = await handler.getNativeRtpCapabilities();
328
- logger.debug('load() | got native RTP capabilities:%o', nativeRtpCapabilities);
329
- // This may throw.
330
- ortc.validateRtpCapabilities(nativeRtpCapabilities);
331
- // Get extended RTP capabilities.
332
- this._extendedRtpCapabilities = ortc.getExtendedRtpCapabilities(nativeRtpCapabilities, routerRtpCapabilities);
333
- logger.debug('load() | got extended RTP capabilities:%o', this._extendedRtpCapabilities);
334
- // Check whether we can produce audio/video.
335
- this._canProduceByKind.audio =
336
- ortc.canSend('audio', this._extendedRtpCapabilities);
337
- this._canProduceByKind.video =
338
- ortc.canSend('video', this._extendedRtpCapabilities);
339
- // Generate our receiving RTP capabilities for receiving media.
340
- this._recvRtpCapabilities =
341
- ortc.getRecvRtpCapabilities(this._extendedRtpCapabilities);
342
- // This may throw.
343
- ortc.validateRtpCapabilities(this._recvRtpCapabilities);
344
- logger.debug('load() | got receiving RTP capabilities:%o', this._recvRtpCapabilities);
345
- // Generate our SCTP capabilities.
346
- this._sctpCapabilities = await handler.getNativeSctpCapabilities();
347
- logger.debug('load() | got native SCTP capabilities:%o', this._sctpCapabilities);
348
- // This may throw.
349
- ortc.validateSctpCapabilities(this._sctpCapabilities);
350
- logger.debug('load() succeeded');
351
- this._loaded = true;
352
- handler.close();
353
- }
354
- catch (error) {
355
- if (handler) {
356
- handler.close();
357
- }
358
- throw error;
359
- }
360
- }
361
- /**
362
- * Whether we can produce audio/video.
363
- *
364
- * @throws {InvalidStateError} if not loaded.
365
- * @throws {TypeError} if wrong arguments.
366
- */
367
- canProduce(kind) {
368
- if (!this._loaded) {
369
- throw new errors_1.InvalidStateError('not loaded');
370
- }
371
- else if (kind !== 'audio' && kind !== 'video') {
372
- throw new TypeError(`invalid kind "${kind}"`);
373
- }
374
- return this._canProduceByKind[kind];
375
- }
376
- /**
377
- * Creates a Transport for sending media.
378
- *
379
- * @throws {InvalidStateError} if not loaded.
380
- * @throws {TypeError} if wrong arguments.
381
- */
382
- createSendTransport({ id, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, appData }) {
383
- logger.debug('createSendTransport()');
384
- return this.createTransport({
385
- direction: 'send',
386
- id: id,
387
- iceParameters: iceParameters,
388
- iceCandidates: iceCandidates,
389
- dtlsParameters: dtlsParameters,
390
- sctpParameters: sctpParameters,
391
- iceServers: iceServers,
392
- iceTransportPolicy: iceTransportPolicy,
393
- additionalSettings: additionalSettings,
394
- proprietaryConstraints: proprietaryConstraints,
395
- appData: appData
396
- });
397
- }
398
- /**
399
- * Creates a Transport for receiving media.
400
- *
401
- * @throws {InvalidStateError} if not loaded.
402
- * @throws {TypeError} if wrong arguments.
403
- */
404
- createRecvTransport({ id, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, appData }) {
405
- logger.debug('createRecvTransport()');
406
- return this.createTransport({
407
- direction: 'recv',
408
- id: id,
409
- iceParameters: iceParameters,
410
- iceCandidates: iceCandidates,
411
- dtlsParameters: dtlsParameters,
412
- sctpParameters: sctpParameters,
413
- iceServers: iceServers,
414
- iceTransportPolicy: iceTransportPolicy,
415
- additionalSettings: additionalSettings,
416
- proprietaryConstraints: proprietaryConstraints,
417
- appData: appData
418
- });
419
- }
420
- createTransport({ direction, id, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, appData }) {
421
- if (!this._loaded) {
422
- throw new errors_1.InvalidStateError('not loaded');
423
- }
424
- else if (typeof id !== 'string') {
425
- throw new TypeError('missing id');
426
- }
427
- else if (typeof iceParameters !== 'object') {
428
- throw new TypeError('missing iceParameters');
429
- }
430
- else if (!Array.isArray(iceCandidates)) {
431
- throw new TypeError('missing iceCandidates');
432
- }
433
- else if (typeof dtlsParameters !== 'object') {
434
- throw new TypeError('missing dtlsParameters');
435
- }
436
- else if (sctpParameters && typeof sctpParameters !== 'object') {
437
- throw new TypeError('wrong sctpParameters');
438
- }
439
- else if (appData && typeof appData !== 'object') {
440
- throw new TypeError('if given, appData must be an object');
441
- }
442
- // Create a new Transport.
443
- const transport = new Transport_1.Transport({
444
- direction,
445
- id,
446
- iceParameters,
447
- iceCandidates,
448
- dtlsParameters,
449
- sctpParameters,
450
- iceServers,
451
- iceTransportPolicy,
452
- additionalSettings,
453
- proprietaryConstraints,
454
- appData,
455
- handlerFactory: this._handlerFactory,
456
- extendedRtpCapabilities: this._extendedRtpCapabilities,
457
- canProduceByKind: this._canProduceByKind
458
- });
459
- // Emit observer event.
460
- this._observer.safeEmit('newtransport', transport);
461
- return transport;
462
- }
463
- }
464
- exports.Device = Device;
@@ -1,24 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- type Events = Record<string, any[]>;
4
- export declare class EnhancedEventEmitter<E extends Events = Events> extends EventEmitter {
5
- constructor();
6
- emit<K extends keyof E & string>(eventName: K, ...args: E[K]): boolean;
7
- /**
8
- * Special addition to the EventEmitter API.
9
- */
10
- safeEmit<K extends keyof E & string>(eventName: K, ...args: E[K]): boolean;
11
- on<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
12
- off<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
13
- addListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
14
- prependListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
15
- once<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
16
- prependOnceListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
17
- removeListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
18
- removeAllListeners<K extends keyof E & string>(eventName?: K): this;
19
- listenerCount<K extends keyof E & string>(eventName: K): number;
20
- listeners<K extends keyof E & string>(eventName: K): Function[];
21
- rawListeners<K extends keyof E & string>(eventName: K): Function[];
22
- }
23
- export {};
24
- //# sourceMappingURL=EnhancedEventEmitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnhancedEventEmitter.d.ts","sourceRoot":"","sources":["../src/EnhancedEventEmitter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEpC,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,YAAY;;IAQhF,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAKtE;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAkB1E,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAC5B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAC7B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACrC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACzC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAC9B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAC7C,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACxC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/B,IAAI;IAOP,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI;IAOnE,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM;IAK/D,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE;IAK/D,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE;CAIlE"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnhancedEventEmitter = void 0;
4
- const events_1 = require("events");
5
- const Logger_1 = require("./Logger");
6
- const logger = new Logger_1.Logger('EnhancedEventEmitter');
7
- class EnhancedEventEmitter extends events_1.EventEmitter {
8
- constructor() {
9
- super();
10
- this.setMaxListeners(Infinity);
11
- }
12
- emit(eventName, ...args) {
13
- return super.emit(eventName, ...args);
14
- }
15
- /**
16
- * Special addition to the EventEmitter API.
17
- */
18
- safeEmit(eventName, ...args) {
19
- const numListeners = super.listenerCount(eventName);
20
- try {
21
- return super.emit(eventName, ...args);
22
- }
23
- catch (error) {
24
- logger.error('safeEmit() | event listener threw an error [eventName:%s]:%o', eventName, error);
25
- return Boolean(numListeners);
26
- }
27
- }
28
- on(eventName, listener) {
29
- super.on(eventName, listener);
30
- return this;
31
- }
32
- off(eventName, listener) {
33
- super.off(eventName, listener);
34
- return this;
35
- }
36
- addListener(eventName, listener) {
37
- super.on(eventName, listener);
38
- return this;
39
- }
40
- prependListener(eventName, listener) {
41
- super.prependListener(eventName, listener);
42
- return this;
43
- }
44
- once(eventName, listener) {
45
- super.once(eventName, listener);
46
- return this;
47
- }
48
- prependOnceListener(eventName, listener) {
49
- super.prependOnceListener(eventName, listener);
50
- return this;
51
- }
52
- removeListener(eventName, listener) {
53
- super.off(eventName, listener);
54
- return this;
55
- }
56
- removeAllListeners(eventName) {
57
- super.removeAllListeners(eventName);
58
- return this;
59
- }
60
- listenerCount(eventName) {
61
- return super.listenerCount(eventName);
62
- }
63
- listeners(eventName) {
64
- return super.listeners(eventName);
65
- }
66
- rawListeners(eventName) {
67
- return super.rawListeners(eventName);
68
- }
69
- }
70
- exports.EnhancedEventEmitter = EnhancedEventEmitter;
package/lib/Logger.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import debug from 'debug';
2
- export declare class Logger {
3
- private readonly _debug;
4
- private readonly _warn;
5
- private readonly _error;
6
- constructor(prefix?: string);
7
- get debug(): debug.Debugger;
8
- get warn(): debug.Debugger;
9
- get error(): debug.Debugger;
10
- }
11
- //# sourceMappingURL=Logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,qBAAa,MAAM;IAElB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,CAAC,EAAE,MAAM;IAsB3B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAG1B;IAED,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAGzB;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAG1B;CACD"}
package/lib/Logger.js DELETED
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Logger = void 0;
7
- const debug_1 = __importDefault(require("debug"));
8
- const APP_NAME = 'mediasoup-client';
9
- class Logger {
10
- constructor(prefix) {
11
- if (prefix) {
12
- this._debug = (0, debug_1.default)(`${APP_NAME}:${prefix}`);
13
- this._warn = (0, debug_1.default)(`${APP_NAME}:WARN:${prefix}`);
14
- this._error = (0, debug_1.default)(`${APP_NAME}:ERROR:${prefix}`);
15
- }
16
- else {
17
- this._debug = (0, debug_1.default)(APP_NAME);
18
- this._warn = (0, debug_1.default)(`${APP_NAME}:WARN`);
19
- this._error = (0, debug_1.default)(`${APP_NAME}:ERROR`);
20
- }
21
- /* eslint-disable no-console */
22
- this._debug.log = console.info.bind(console);
23
- this._warn.log = console.warn.bind(console);
24
- this._error.log = console.error.bind(console);
25
- /* eslint-enable no-console */
26
- }
27
- get debug() {
28
- return this._debug;
29
- }
30
- get warn() {
31
- return this._warn;
32
- }
33
- get error() {
34
- return this._error;
35
- }
36
- }
37
- exports.Logger = Logger;