mediasoup-client 3.6.59 → 3.6.61

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 (92) 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/lib/tests/fakeParameters.d.ts +20 -0
  43. package/lib/tests/fakeParameters.d.ts.map +1 -0
  44. package/lib/tests/fakeParameters.js +636 -0
  45. package/lib/tests/test.d.ts +6 -0
  46. package/lib/tests/test.d.ts.map +1 -0
  47. package/lib/tests/test.js +1270 -0
  48. package/npm-scripts.js +143 -28
  49. package/package.json +38 -11
  50. package/.eslintrc.js +0 -243
  51. package/.github/FUNDING.yml +0 -12
  52. package/.github/ISSUE_TEMPLATE/Bug_Report.md +0 -24
  53. package/.github/ISSUE_TEMPLATE/Feature_Request.md +0 -7
  54. package/.github/ISSUE_TEMPLATE/Support_Question.md +0 -12
  55. package/.travis.yml +0 -26
  56. package/src/Consumer.ts +0 -334
  57. package/src/DataConsumer.ts +0 -271
  58. package/src/DataProducer.ts +0 -291
  59. package/src/Device.ts +0 -584
  60. package/src/EnhancedEventEmitter.ts +0 -133
  61. package/src/Logger.ts +0 -47
  62. package/src/Producer.ts +0 -534
  63. package/src/RtpParameters.ts +0 -326
  64. package/src/SctpParameters.ts +0 -74
  65. package/src/Transport.ts +0 -1275
  66. package/src/errors.ts +0 -45
  67. package/src/handlers/Chrome55.ts +0 -866
  68. package/src/handlers/Chrome67.ts +0 -951
  69. package/src/handlers/Chrome70.ts +0 -964
  70. package/src/handlers/Chrome74.ts +0 -1058
  71. package/src/handlers/Edge11.ts +0 -667
  72. package/src/handlers/FakeHandler.ts +0 -448
  73. package/src/handlers/Firefox60.ts +0 -1040
  74. package/src/handlers/HandlerInterface.ts +0 -162
  75. package/src/handlers/ReactNative.ts +0 -886
  76. package/src/handlers/Safari11.ts +0 -944
  77. package/src/handlers/Safari12.ts +0 -1009
  78. package/src/handlers/ortc/edgeUtils.ts +0 -77
  79. package/src/handlers/sdp/MediaSection.ts +0 -836
  80. package/src/handlers/sdp/RemoteSdp.ts +0 -474
  81. package/src/handlers/sdp/commonUtils.ts +0 -259
  82. package/src/handlers/sdp/plainRtpUtils.ts +0 -58
  83. package/src/handlers/sdp/planBUtils.ts +0 -227
  84. package/src/handlers/sdp/unifiedPlanUtils.ts +0 -188
  85. package/src/index.ts +0 -28
  86. package/src/ortc.ts +0 -1169
  87. package/src/scalabilityModes.ts +0 -27
  88. package/src/types.ts +0 -11
  89. package/src/utils.ts +0 -18
  90. package/test/fakeParameters.js +0 -701
  91. package/test/test.js +0 -1672
  92. package/tsconfig.json +0 -17
@@ -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
- }