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.
- package/README.md +17 -3
- package/lib/Consumer.d.ts +3 -3
- package/lib/Consumer.d.ts.map +1 -1
- package/lib/DataConsumer.d.ts +3 -3
- package/lib/DataConsumer.d.ts.map +1 -1
- package/lib/DataProducer.d.ts +3 -3
- package/lib/DataProducer.d.ts.map +1 -1
- package/lib/Device.d.ts +3 -3
- package/lib/Device.d.ts.map +1 -1
- package/lib/EnhancedEventEmitter.d.ts +1 -1
- package/lib/EnhancedEventEmitter.d.ts.map +1 -1
- package/lib/Producer.d.ts +4 -4
- package/lib/Producer.d.ts.map +1 -1
- package/lib/RtpParameters.d.ts +11 -11
- package/lib/RtpParameters.d.ts.map +1 -1
- package/lib/SctpParameters.d.ts +4 -4
- package/lib/SctpParameters.d.ts.map +1 -1
- package/lib/Transport.d.ts +11 -11
- package/lib/Transport.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +6 -6
- package/lib/handlers/Chrome67.js +6 -6
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +10 -7
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +10 -7
- package/lib/handlers/Edge11.js +6 -6
- package/lib/handlers/FakeHandler.d.ts +1 -1
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +6 -6
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +10 -7
- package/lib/handlers/HandlerInterface.d.ts +11 -11
- package/lib/handlers/HandlerInterface.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +6 -6
- package/lib/handlers/Safari11.js +6 -6
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +10 -7
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/scalabilityModes.d.ts +1 -1
- package/lib/scalabilityModes.d.ts.map +1 -1
- package/lib/tests/fakeParameters.d.ts +20 -0
- package/lib/tests/fakeParameters.d.ts.map +1 -0
- package/lib/tests/fakeParameters.js +636 -0
- package/lib/tests/test.d.ts +6 -0
- package/lib/tests/test.d.ts.map +1 -0
- package/lib/tests/test.js +1270 -0
- package/npm-scripts.js +143 -28
- package/package.json +38 -11
- package/.eslintrc.js +0 -243
- package/.github/FUNDING.yml +0 -12
- package/.github/ISSUE_TEMPLATE/Bug_Report.md +0 -24
- package/.github/ISSUE_TEMPLATE/Feature_Request.md +0 -7
- package/.github/ISSUE_TEMPLATE/Support_Question.md +0 -12
- package/.travis.yml +0 -26
- package/src/Consumer.ts +0 -334
- package/src/DataConsumer.ts +0 -271
- package/src/DataProducer.ts +0 -291
- package/src/Device.ts +0 -584
- package/src/EnhancedEventEmitter.ts +0 -133
- package/src/Logger.ts +0 -47
- package/src/Producer.ts +0 -534
- package/src/RtpParameters.ts +0 -326
- package/src/SctpParameters.ts +0 -74
- package/src/Transport.ts +0 -1275
- package/src/errors.ts +0 -45
- package/src/handlers/Chrome55.ts +0 -866
- package/src/handlers/Chrome67.ts +0 -951
- package/src/handlers/Chrome70.ts +0 -964
- package/src/handlers/Chrome74.ts +0 -1058
- package/src/handlers/Edge11.ts +0 -667
- package/src/handlers/FakeHandler.ts +0 -448
- package/src/handlers/Firefox60.ts +0 -1040
- package/src/handlers/HandlerInterface.ts +0 -162
- package/src/handlers/ReactNative.ts +0 -886
- package/src/handlers/Safari11.ts +0 -944
- package/src/handlers/Safari12.ts +0 -1009
- package/src/handlers/ortc/edgeUtils.ts +0 -77
- package/src/handlers/sdp/MediaSection.ts +0 -836
- package/src/handlers/sdp/RemoteSdp.ts +0 -474
- package/src/handlers/sdp/commonUtils.ts +0 -259
- package/src/handlers/sdp/plainRtpUtils.ts +0 -58
- package/src/handlers/sdp/planBUtils.ts +0 -227
- package/src/handlers/sdp/unifiedPlanUtils.ts +0 -188
- package/src/index.ts +0 -28
- package/src/ortc.ts +0 -1169
- package/src/scalabilityModes.ts +0 -27
- package/src/types.ts +0 -11
- package/src/utils.ts +0 -18
- package/test/fakeParameters.js +0 -701
- package/test/test.js +0 -1672
- package/tsconfig.json +0 -17
package/src/DataProducer.ts
DELETED
|
@@ -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
|
-
}
|