mediasoup-client 3.6.59 → 3.6.60

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 (86) hide show
  1. package/README.md +17 -3
  2. package/lib/Consumer.d.ts +3 -3
  3. package/lib/Consumer.d.ts.map +1 -1
  4. package/lib/DataConsumer.d.ts +3 -3
  5. package/lib/DataConsumer.d.ts.map +1 -1
  6. package/lib/DataProducer.d.ts +3 -3
  7. package/lib/DataProducer.d.ts.map +1 -1
  8. package/lib/Device.d.ts +3 -3
  9. package/lib/Device.d.ts.map +1 -1
  10. package/lib/EnhancedEventEmitter.d.ts +1 -1
  11. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  12. package/lib/Producer.d.ts +4 -4
  13. package/lib/Producer.d.ts.map +1 -1
  14. package/lib/RtpParameters.d.ts +11 -11
  15. package/lib/RtpParameters.d.ts.map +1 -1
  16. package/lib/SctpParameters.d.ts +4 -4
  17. package/lib/SctpParameters.d.ts.map +1 -1
  18. package/lib/Transport.d.ts +11 -11
  19. package/lib/Transport.d.ts.map +1 -1
  20. package/lib/handlers/Chrome55.js +6 -6
  21. package/lib/handlers/Chrome67.js +6 -6
  22. package/lib/handlers/Chrome70.d.ts.map +1 -1
  23. package/lib/handlers/Chrome70.js +10 -7
  24. package/lib/handlers/Chrome74.d.ts.map +1 -1
  25. package/lib/handlers/Chrome74.js +10 -7
  26. package/lib/handlers/Edge11.js +6 -6
  27. package/lib/handlers/FakeHandler.d.ts +1 -1
  28. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  29. package/lib/handlers/FakeHandler.js +6 -6
  30. package/lib/handlers/Firefox60.d.ts.map +1 -1
  31. package/lib/handlers/Firefox60.js +10 -7
  32. package/lib/handlers/HandlerInterface.d.ts +11 -11
  33. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  34. package/lib/handlers/ReactNative.js +6 -6
  35. package/lib/handlers/Safari11.js +6 -6
  36. package/lib/handlers/Safari12.d.ts.map +1 -1
  37. package/lib/handlers/Safari12.js +10 -7
  38. package/lib/index.d.ts +1 -1
  39. package/lib/index.js +1 -1
  40. package/lib/scalabilityModes.d.ts +1 -1
  41. package/lib/scalabilityModes.d.ts.map +1 -1
  42. package/npm-scripts.js +124 -28
  43. package/package.json +17 -5
  44. package/.eslintrc.js +0 -243
  45. package/.github/FUNDING.yml +0 -12
  46. package/.github/ISSUE_TEMPLATE/Bug_Report.md +0 -24
  47. package/.github/ISSUE_TEMPLATE/Feature_Request.md +0 -7
  48. package/.github/ISSUE_TEMPLATE/Support_Question.md +0 -12
  49. package/.travis.yml +0 -26
  50. package/src/Consumer.ts +0 -334
  51. package/src/DataConsumer.ts +0 -271
  52. package/src/DataProducer.ts +0 -291
  53. package/src/Device.ts +0 -584
  54. package/src/EnhancedEventEmitter.ts +0 -133
  55. package/src/Logger.ts +0 -47
  56. package/src/Producer.ts +0 -534
  57. package/src/RtpParameters.ts +0 -326
  58. package/src/SctpParameters.ts +0 -74
  59. package/src/Transport.ts +0 -1275
  60. package/src/errors.ts +0 -45
  61. package/src/handlers/Chrome55.ts +0 -866
  62. package/src/handlers/Chrome67.ts +0 -951
  63. package/src/handlers/Chrome70.ts +0 -964
  64. package/src/handlers/Chrome74.ts +0 -1058
  65. package/src/handlers/Edge11.ts +0 -667
  66. package/src/handlers/FakeHandler.ts +0 -448
  67. package/src/handlers/Firefox60.ts +0 -1040
  68. package/src/handlers/HandlerInterface.ts +0 -162
  69. package/src/handlers/ReactNative.ts +0 -886
  70. package/src/handlers/Safari11.ts +0 -944
  71. package/src/handlers/Safari12.ts +0 -1009
  72. package/src/handlers/ortc/edgeUtils.ts +0 -77
  73. package/src/handlers/sdp/MediaSection.ts +0 -836
  74. package/src/handlers/sdp/RemoteSdp.ts +0 -474
  75. package/src/handlers/sdp/commonUtils.ts +0 -259
  76. package/src/handlers/sdp/plainRtpUtils.ts +0 -58
  77. package/src/handlers/sdp/planBUtils.ts +0 -227
  78. package/src/handlers/sdp/unifiedPlanUtils.ts +0 -188
  79. package/src/index.ts +0 -28
  80. package/src/ortc.ts +0 -1169
  81. package/src/scalabilityModes.ts +0 -27
  82. package/src/types.ts +0 -11
  83. package/src/utils.ts +0 -18
  84. package/test/fakeParameters.js +0 -701
  85. package/test/test.js +0 -1672
  86. package/tsconfig.json +0 -17
@@ -1,271 +0,0 @@
1
- import { Logger } from './Logger';
2
- import { EnhancedEventEmitter } from './EnhancedEventEmitter';
3
- import { SctpStreamParameters } from './SctpParameters';
4
-
5
- const logger = new Logger('DataConsumer');
6
-
7
- export type DataConsumerOptions =
8
- {
9
- id?: string;
10
- dataProducerId?: string;
11
- sctpStreamParameters: SctpStreamParameters;
12
- label?: string;
13
- protocol?: string;
14
- appData?: Record<string, unknown>;
15
- }
16
-
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
- }
32
-
33
- export class DataConsumer extends EnhancedEventEmitter<DataConsumerEvents>
34
- {
35
- // Id.
36
- private readonly _id: string;
37
- // Associated DataProducer Id.
38
- private readonly _dataProducerId: string;
39
- // The underlying RTCDataChannel instance.
40
- private readonly _dataChannel: RTCDataChannel;
41
- // Closed flag.
42
- private _closed = false;
43
- // SCTP stream parameters.
44
- private readonly _sctpStreamParameters: SctpStreamParameters;
45
- // App custom data.
46
- private readonly _appData: Record<string, unknown>;
47
- // Observer instance.
48
- protected readonly _observer = new EnhancedEventEmitter<DataConsumerObserverEvents>();
49
-
50
- constructor(
51
- {
52
- id,
53
- dataProducerId,
54
- dataChannel,
55
- sctpStreamParameters,
56
- appData
57
- }:
58
- {
59
- id: string;
60
- dataProducerId: string;
61
- dataChannel: RTCDataChannel;
62
- sctpStreamParameters: SctpStreamParameters;
63
- appData?: Record<string, unknown>;
64
- }
65
- )
66
- {
67
- super();
68
-
69
- logger.debug('constructor()');
70
-
71
- this._id = id;
72
- this._dataProducerId = dataProducerId;
73
- this._dataChannel = dataChannel;
74
- this._sctpStreamParameters = sctpStreamParameters;
75
- this._appData = appData || {};
76
-
77
- this._handleDataChannel();
78
- }
79
-
80
- /**
81
- * DataConsumer id.
82
- */
83
- get id(): string
84
- {
85
- return this._id;
86
- }
87
-
88
- /**
89
- * Associated DataProducer id.
90
- */
91
- get dataProducerId(): string
92
- {
93
- return this._dataProducerId;
94
- }
95
-
96
- /**
97
- * Whether the DataConsumer is closed.
98
- */
99
- get closed(): boolean
100
- {
101
- return this._closed;
102
- }
103
-
104
- /**
105
- * SCTP stream parameters.
106
- */
107
- get sctpStreamParameters(): SctpStreamParameters
108
- {
109
- return this._sctpStreamParameters;
110
- }
111
-
112
- /**
113
- * DataChannel readyState.
114
- */
115
- get readyState(): RTCDataChannelState
116
- {
117
- return this._dataChannel.readyState;
118
- }
119
-
120
- /**
121
- * DataChannel label.
122
- */
123
- get label(): string
124
- {
125
- return this._dataChannel.label;
126
- }
127
-
128
- /**
129
- * DataChannel protocol.
130
- */
131
- get protocol(): string
132
- {
133
- return this._dataChannel.protocol;
134
- }
135
-
136
- /**
137
- * DataChannel binaryType.
138
- */
139
- get binaryType(): BinaryType
140
- {
141
- return this._dataChannel.binaryType;
142
- }
143
-
144
- /**
145
- * Set DataChannel binaryType.
146
- */
147
- set binaryType(binaryType: BinaryType)
148
- {
149
- this._dataChannel.binaryType = binaryType;
150
- }
151
-
152
- /**
153
- * App custom data.
154
- */
155
- get appData(): Record<string, unknown>
156
- {
157
- return this._appData;
158
- }
159
-
160
- /**
161
- * Invalid setter.
162
- */
163
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
164
- set appData(appData: Record<string, unknown>)
165
- {
166
- throw new Error('cannot override appData object');
167
- }
168
-
169
- get observer(): EnhancedEventEmitter
170
- {
171
- return this._observer;
172
- }
173
-
174
- /**
175
- * Closes the DataConsumer.
176
- */
177
- close(): void
178
- {
179
- if (this._closed)
180
- return;
181
-
182
- logger.debug('close()');
183
-
184
- this._closed = true;
185
-
186
- this._dataChannel.close();
187
-
188
- this.emit('@close');
189
-
190
- // Emit observer event.
191
- this._observer.safeEmit('close');
192
- }
193
-
194
- /**
195
- * Transport was closed.
196
- */
197
- transportClosed(): void
198
- {
199
- if (this._closed)
200
- return;
201
-
202
- logger.debug('transportClosed()');
203
-
204
- this._closed = true;
205
-
206
- this._dataChannel.close();
207
-
208
- this.safeEmit('transportclose');
209
-
210
- // Emit observer event.
211
- this._observer.safeEmit('close');
212
- }
213
-
214
- private _handleDataChannel(): void
215
- {
216
- this._dataChannel.addEventListener('open', () =>
217
- {
218
- if (this._closed)
219
- return;
220
-
221
- logger.debug('DataChannel "open" event');
222
-
223
- this.safeEmit('open');
224
- });
225
-
226
- this._dataChannel.addEventListener('error', (event: any) =>
227
- {
228
- if (this._closed)
229
- return;
230
-
231
- let { error } = event;
232
-
233
- if (!error)
234
- error = new Error('unknown DataChannel error');
235
-
236
- if (error.errorDetail === 'sctp-failure')
237
- {
238
- logger.error(
239
- 'DataChannel SCTP error [sctpCauseCode:%s]: %s',
240
- error.sctpCauseCode, error.message);
241
- }
242
- else
243
- {
244
- logger.error('DataChannel "error" event: %o', error);
245
- }
246
-
247
- this.safeEmit('error', error);
248
- });
249
-
250
- this._dataChannel.addEventListener('close', () =>
251
- {
252
- if (this._closed)
253
- return;
254
-
255
- logger.warn('DataChannel "close" event');
256
-
257
- this._closed = true;
258
-
259
- this.emit('@close');
260
- this.safeEmit('close');
261
- });
262
-
263
- this._dataChannel.addEventListener('message', (event: any) =>
264
- {
265
- if (this._closed)
266
- return;
267
-
268
- this.safeEmit('message', event.data);
269
- });
270
- }
271
- }
@@ -1,291 +0,0 @@
1
- import { Logger } from './Logger';
2
- import { EnhancedEventEmitter } from './EnhancedEventEmitter';
3
- import { InvalidStateError } from './errors';
4
- import { SctpStreamParameters } from './SctpParameters';
5
-
6
- const logger = new Logger('DataProducer');
7
-
8
- export type DataProducerOptions =
9
- {
10
- ordered?: boolean;
11
- maxPacketLifeTime?: number;
12
- maxRetransmits?: number;
13
- label?: string;
14
- protocol?: string;
15
- appData?: Record<string, unknown>;
16
- }
17
-
18
- export type DataProducerEvents =
19
- {
20
- transportclose: [];
21
- open: [];
22
- error: [Error];
23
- close: [];
24
- bufferedamountlow: [];
25
- // Private events.
26
- '@close': [];
27
- }
28
-
29
- export type DataProducerObserverEvents =
30
- {
31
- close: [];
32
- }
33
-
34
- export class DataProducer extends EnhancedEventEmitter<DataProducerEvents>
35
- {
36
- // Id.
37
- private readonly _id: string;
38
- // The underlying RTCDataChannel instance.
39
- private readonly _dataChannel: RTCDataChannel;
40
- // Closed flag.
41
- private _closed = false;
42
- // SCTP stream parameters.
43
- private readonly _sctpStreamParameters: SctpStreamParameters;
44
- // App custom data.
45
- private readonly _appData: Record<string, unknown>;
46
- // Observer instance.
47
- protected readonly _observer = new EnhancedEventEmitter<DataProducerObserverEvents>();
48
-
49
- constructor(
50
- {
51
- id,
52
- dataChannel,
53
- sctpStreamParameters,
54
- appData
55
- }:
56
- {
57
- id: string;
58
- dataChannel: RTCDataChannel;
59
- sctpStreamParameters: SctpStreamParameters;
60
- appData?: Record<string, unknown>;
61
- }
62
- )
63
- {
64
- super();
65
-
66
- logger.debug('constructor()');
67
-
68
- this._id = id;
69
- this._dataChannel = dataChannel;
70
- this._sctpStreamParameters = sctpStreamParameters;
71
- this._appData = appData || {};
72
-
73
- this._handleDataChannel();
74
- }
75
-
76
- /**
77
- * DataProducer id.
78
- */
79
- get id(): string
80
- {
81
- return this._id;
82
- }
83
-
84
- /**
85
- * Whether the DataProducer is closed.
86
- */
87
- get closed(): boolean
88
- {
89
- return this._closed;
90
- }
91
-
92
- /**
93
- * SCTP stream parameters.
94
- */
95
- get sctpStreamParameters(): SctpStreamParameters
96
- {
97
- return this._sctpStreamParameters;
98
- }
99
-
100
- /**
101
- * DataChannel readyState.
102
- */
103
- get readyState(): RTCDataChannelState
104
- {
105
- return this._dataChannel.readyState;
106
- }
107
-
108
- /**
109
- * DataChannel label.
110
- */
111
- get label(): string
112
- {
113
- return this._dataChannel.label;
114
- }
115
-
116
- /**
117
- * DataChannel protocol.
118
- */
119
- get protocol(): string
120
- {
121
- return this._dataChannel.protocol;
122
- }
123
-
124
- /**
125
- * DataChannel bufferedAmount.
126
- */
127
- get bufferedAmount(): number
128
- {
129
- return this._dataChannel.bufferedAmount;
130
- }
131
-
132
- /**
133
- * DataChannel bufferedAmountLowThreshold.
134
- */
135
- get bufferedAmountLowThreshold(): number
136
- {
137
- return this._dataChannel.bufferedAmountLowThreshold;
138
- }
139
-
140
- /**
141
- * Set DataChannel bufferedAmountLowThreshold.
142
- */
143
- set bufferedAmountLowThreshold(bufferedAmountLowThreshold: number)
144
- {
145
- this._dataChannel.bufferedAmountLowThreshold = bufferedAmountLowThreshold;
146
- }
147
-
148
- /**
149
- * App custom data.
150
- */
151
- get appData(): Record<string, unknown>
152
- {
153
- return this._appData;
154
- }
155
-
156
- /**
157
- * Invalid setter.
158
- */
159
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
160
- set appData(appData: Record<string, unknown>)
161
- {
162
- throw new Error('cannot override appData object');
163
- }
164
-
165
- get observer(): EnhancedEventEmitter
166
- {
167
- return this._observer;
168
- }
169
-
170
- /**
171
- * Closes the DataProducer.
172
- */
173
- close(): void
174
- {
175
- if (this._closed)
176
- return;
177
-
178
- logger.debug('close()');
179
-
180
- this._closed = true;
181
-
182
- this._dataChannel.close();
183
-
184
- this.emit('@close');
185
-
186
- // Emit observer event.
187
- this._observer.safeEmit('close');
188
- }
189
-
190
- /**
191
- * Transport was closed.
192
- */
193
- transportClosed(): void
194
- {
195
- if (this._closed)
196
- return;
197
-
198
- logger.debug('transportClosed()');
199
-
200
- this._closed = true;
201
-
202
- this._dataChannel.close();
203
-
204
- this.safeEmit('transportclose');
205
-
206
- // Emit observer event.
207
- this._observer.safeEmit('close');
208
- }
209
-
210
- /**
211
- * Send a message.
212
- *
213
- * @param {String|Blob|ArrayBuffer|ArrayBufferView} data.
214
- */
215
- send(data: any): void
216
- {
217
- logger.debug('send()');
218
-
219
- if (this._closed)
220
- throw new InvalidStateError('closed');
221
-
222
- this._dataChannel.send(data);
223
- }
224
-
225
- private _handleDataChannel(): void
226
- {
227
- this._dataChannel.addEventListener('open', () =>
228
- {
229
- if (this._closed)
230
- return;
231
-
232
- logger.debug('DataChannel "open" event');
233
-
234
- this.safeEmit('open');
235
- });
236
-
237
- this._dataChannel.addEventListener('error', (event: any) =>
238
- {
239
- if (this._closed)
240
- return;
241
-
242
- let { error } = event;
243
-
244
- if (!error)
245
- error = new Error('unknown DataChannel error');
246
-
247
- if (error.errorDetail === 'sctp-failure')
248
- {
249
- logger.error(
250
- 'DataChannel SCTP error [sctpCauseCode:%s]: %s',
251
- error.sctpCauseCode, error.message);
252
- }
253
- else
254
- {
255
- logger.error('DataChannel "error" event: %o', error);
256
- }
257
-
258
- this.safeEmit('error', error);
259
- });
260
-
261
- this._dataChannel.addEventListener('close', () =>
262
- {
263
- if (this._closed)
264
- return;
265
-
266
- logger.warn('DataChannel "close" event');
267
-
268
- this._closed = true;
269
-
270
- this.emit('@close');
271
- this.safeEmit('close');
272
- });
273
-
274
- this._dataChannel.addEventListener('message', () =>
275
- {
276
- if (this._closed)
277
- return;
278
-
279
- logger.warn(
280
- 'DataChannel "message" event in a DataProducer, message discarded');
281
- });
282
-
283
- this._dataChannel.addEventListener('bufferedamountlow', () =>
284
- {
285
- if (this._closed)
286
- return;
287
-
288
- this.safeEmit('bufferedamountlow');
289
- });
290
- }
291
- }