mediasoup-client 3.7.0 → 3.7.2
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 +85 -112
- package/lib/Consumer.d.ts +1 -1
- package/lib/Consumer.d.ts.map +1 -1
- package/lib/Consumer.js +1 -1
- package/lib/DataConsumer.d.ts +1 -1
- package/lib/DataConsumer.d.ts.map +1 -1
- package/lib/DataConsumer.js +1 -1
- package/lib/DataProducer.d.ts +1 -1
- package/lib/DataProducer.d.ts.map +1 -1
- package/lib/DataProducer.js +1 -1
- package/lib/Device.d.ts +3 -3
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +43 -42
- package/lib/EnhancedEventEmitter.d.ts.map +1 -1
- package/lib/Logger.d.ts.map +1 -1
- package/lib/Producer.d.ts +5 -15
- package/lib/Producer.d.ts.map +1 -1
- package/lib/Producer.js +2 -2
- package/lib/RtpParameters.d.ts.map +1 -1
- package/lib/SctpParameters.d.ts.map +1 -1
- package/lib/Transport.d.ts +14 -10
- package/lib/Transport.d.ts.map +1 -1
- package/lib/Transport.js +71 -53
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +6 -6
- package/lib/handlers/Chrome111.d.ts +4 -4
- package/lib/handlers/Chrome111.d.ts.map +1 -1
- package/lib/handlers/Chrome111.js +64 -57
- package/lib/handlers/Chrome55.d.ts +4 -4
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +75 -62
- package/lib/handlers/Chrome67.d.ts +4 -4
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +77 -65
- package/lib/handlers/Chrome70.d.ts +4 -4
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +68 -60
- package/lib/handlers/Chrome74.d.ts +4 -4
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +65 -58
- package/lib/handlers/Edge11.d.ts +1 -1
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +43 -37
- package/lib/handlers/FakeHandler.d.ts +3 -3
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +19 -22
- package/lib/handlers/Firefox60.d.ts +4 -4
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +65 -52
- package/lib/handlers/HandlerInterface.d.ts.map +1 -1
- package/lib/handlers/ReactNative.d.ts +4 -4
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +76 -64
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts +4 -4
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +65 -58
- package/lib/handlers/Safari11.d.ts +4 -4
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +74 -61
- package/lib/handlers/Safari12.d.ts +4 -4
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +65 -57
- package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
- package/lib/handlers/ortc/utils.d.ts.map +1 -1
- package/lib/handlers/ortc/utils.js +2 -2
- package/lib/handlers/sdp/MediaSection.d.ts +5 -5
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +287 -305
- package/lib/handlers/sdp/RemoteSdp.d.ts +5 -5
- package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
- package/lib/handlers/sdp/RemoteSdp.js +28 -30
- package/lib/handlers/sdp/commonUtils.d.ts +4 -4
- package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/commonUtils.js +41 -46
- package/lib/handlers/sdp/plainRtpUtils.d.ts +2 -2
- package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/plainRtpUtils.js +5 -7
- package/lib/handlers/sdp/planBUtils.d.ts +2 -2
- package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/planBUtils.js +11 -14
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts +2 -2
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/unifiedPlanUtils.js +11 -14
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/ortc.d.ts.map +1 -1
- package/lib/ortc.js +90 -92
- package/lib/scalabilityModes.d.ts.map +1 -1
- package/lib/scalabilityModes.js +2 -2
- package/lib/{tests → test}/fakeParameters.d.ts +2 -2
- package/lib/test/fakeParameters.d.ts.map +1 -0
- package/lib/test/fakeParameters.js +645 -0
- package/lib/{tests → test}/test.d.ts.map +1 -1
- package/lib/{tests → test}/test.js +466 -495
- package/lib/test/uaTestCases.d.ts.map +1 -0
- package/lib/{tests → test}/uaTestCases.js +17 -17
- package/lib/types.d.ts.map +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/npm-scripts.mjs +72 -98
- package/package.json +93 -90
- package/lib/tests/fakeParameters.d.ts.map +0 -1
- package/lib/tests/fakeParameters.js +0 -662
- package/lib/tests/uaTestCases.d.ts.map +0 -1
- /package/lib/{tests → test}/test.d.ts +0 -0
- /package/lib/{tests → test}/uaTestCases.d.ts +0 -0
package/lib/handlers/Chrome70.js
CHANGED
|
@@ -76,7 +76,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
76
76
|
iceTransportPolicy: 'all',
|
|
77
77
|
bundlePolicy: 'max-bundle',
|
|
78
78
|
rtcpMuxPolicy: 'require',
|
|
79
|
-
sdpSemantics: 'unified-plan'
|
|
79
|
+
sdpSemantics: 'unified-plan',
|
|
80
80
|
});
|
|
81
81
|
try {
|
|
82
82
|
pc.addTransceiver('audio');
|
|
@@ -87,7 +87,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
87
87
|
}
|
|
88
88
|
catch (error) { }
|
|
89
89
|
const sdpObject = sdpTransform.parse(offer.sdp);
|
|
90
|
-
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
90
|
+
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
91
|
+
sdpObject,
|
|
92
|
+
});
|
|
91
93
|
return nativeRtpCapabilities;
|
|
92
94
|
}
|
|
93
95
|
catch (error) {
|
|
@@ -101,32 +103,29 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
101
103
|
async getNativeSctpCapabilities() {
|
|
102
104
|
logger.debug('getNativeSctpCapabilities()');
|
|
103
105
|
return {
|
|
104
|
-
numStreams: SCTP_NUM_STREAMS
|
|
106
|
+
numStreams: SCTP_NUM_STREAMS,
|
|
105
107
|
};
|
|
106
108
|
}
|
|
107
|
-
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }) {
|
|
109
|
+
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }) {
|
|
108
110
|
logger.debug('run()');
|
|
109
111
|
this._direction = direction;
|
|
110
112
|
this._remoteSdp = new RemoteSdp_1.RemoteSdp({
|
|
111
113
|
iceParameters,
|
|
112
114
|
iceCandidates,
|
|
113
115
|
dtlsParameters,
|
|
114
|
-
sctpParameters
|
|
116
|
+
sctpParameters,
|
|
115
117
|
});
|
|
116
|
-
this._sendingRtpParametersByKind =
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
125
|
-
};
|
|
118
|
+
this._sendingRtpParametersByKind = {
|
|
119
|
+
audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
|
|
120
|
+
video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities),
|
|
121
|
+
};
|
|
122
|
+
this._sendingRemoteRtpParametersByKind = {
|
|
123
|
+
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
124
|
+
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
|
|
125
|
+
};
|
|
126
126
|
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
127
|
-
this._forcedLocalDtlsRole =
|
|
128
|
-
? 'client'
|
|
129
|
-
: 'server';
|
|
127
|
+
this._forcedLocalDtlsRole =
|
|
128
|
+
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
130
129
|
}
|
|
131
130
|
this._pc = new RTCPeerConnection({
|
|
132
131
|
iceServers: iceServers || [],
|
|
@@ -134,7 +133,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
134
133
|
bundlePolicy: 'max-bundle',
|
|
135
134
|
rtcpMuxPolicy: 'require',
|
|
136
135
|
sdpSemantics: 'unified-plan',
|
|
137
|
-
...additionalSettings
|
|
136
|
+
...additionalSettings,
|
|
138
137
|
}, proprietaryConstraints);
|
|
139
138
|
this._pc.addEventListener('icegatheringstatechange', () => {
|
|
140
139
|
this.emit('@icegatheringstatechange', this._pc.iceGatheringState);
|
|
@@ -148,22 +147,27 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
148
147
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
149
148
|
logger.warn('run() | pc.connectionState not supported, using pc.iceConnectionState');
|
|
150
149
|
switch (this._pc.iceConnectionState) {
|
|
151
|
-
case 'checking':
|
|
150
|
+
case 'checking': {
|
|
152
151
|
this.emit('@connectionstatechange', 'connecting');
|
|
153
152
|
break;
|
|
153
|
+
}
|
|
154
154
|
case 'connected':
|
|
155
|
-
case 'completed':
|
|
155
|
+
case 'completed': {
|
|
156
156
|
this.emit('@connectionstatechange', 'connected');
|
|
157
157
|
break;
|
|
158
|
-
|
|
158
|
+
}
|
|
159
|
+
case 'failed': {
|
|
159
160
|
this.emit('@connectionstatechange', 'failed');
|
|
160
161
|
break;
|
|
161
|
-
|
|
162
|
+
}
|
|
163
|
+
case 'disconnected': {
|
|
162
164
|
this.emit('@connectionstatechange', 'disconnected');
|
|
163
165
|
break;
|
|
164
|
-
|
|
166
|
+
}
|
|
167
|
+
case 'closed': {
|
|
165
168
|
this.emit('@connectionstatechange', 'closed');
|
|
166
169
|
break;
|
|
170
|
+
}
|
|
167
171
|
}
|
|
168
172
|
});
|
|
169
173
|
}
|
|
@@ -201,26 +205,27 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
201
205
|
async getTransportStats() {
|
|
202
206
|
return this._pc.getStats();
|
|
203
207
|
}
|
|
204
|
-
async send({ track, encodings, codecOptions, codec }) {
|
|
208
|
+
async send({ track, encodings, codecOptions, codec, }) {
|
|
205
209
|
this.assertSendDirection();
|
|
206
210
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
207
211
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
208
212
|
// This may throw.
|
|
209
|
-
sendingRtpParameters.codecs =
|
|
210
|
-
ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
|
|
213
|
+
sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
|
|
211
214
|
const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind]);
|
|
212
215
|
// This may throw.
|
|
213
|
-
sendingRemoteRtpParameters.codecs =
|
|
214
|
-
ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
|
|
216
|
+
sendingRemoteRtpParameters.codecs = ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
|
|
215
217
|
const mediaSectionIdx = this._remoteSdp.getNextMediaSectionIdx();
|
|
216
|
-
const transceiver = this._pc.addTransceiver(track, {
|
|
218
|
+
const transceiver = this._pc.addTransceiver(track, {
|
|
219
|
+
direction: 'sendonly',
|
|
220
|
+
streams: [this._sendStream],
|
|
221
|
+
});
|
|
217
222
|
let offer = await this._pc.createOffer();
|
|
218
223
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
219
224
|
let offerMediaObject;
|
|
220
225
|
if (!this._transportReady) {
|
|
221
226
|
await this.setupTransport({
|
|
222
227
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
223
|
-
localSdpObject
|
|
228
|
+
localSdpObject,
|
|
224
229
|
});
|
|
225
230
|
}
|
|
226
231
|
if (encodings && encodings.length > 1) {
|
|
@@ -229,7 +234,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
229
234
|
offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
230
235
|
sdpUnifiedPlanUtils.addLegacySimulcast({
|
|
231
236
|
offerMediaObject,
|
|
232
|
-
numStreams: encodings.length
|
|
237
|
+
numStreams: encodings.length,
|
|
233
238
|
});
|
|
234
239
|
offer = { type: 'offer', sdp: sdpTransform.write(localSdpObject) };
|
|
235
240
|
}
|
|
@@ -246,7 +251,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
246
251
|
offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
247
252
|
sdpUnifiedPlanUtils.addLegacySimulcast({
|
|
248
253
|
offerMediaObject,
|
|
249
|
-
numStreams: layers.spatialLayers
|
|
254
|
+
numStreams: layers.spatialLayers,
|
|
250
255
|
});
|
|
251
256
|
offer = { type: 'offer', sdp: sdpTransform.write(localSdpObject) };
|
|
252
257
|
}
|
|
@@ -274,11 +279,13 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
274
279
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
275
280
|
offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
276
281
|
// Set RTCP CNAME.
|
|
277
|
-
sendingRtpParameters.rtcp.cname =
|
|
278
|
-
|
|
282
|
+
sendingRtpParameters.rtcp.cname = sdpCommonUtils.getCname({
|
|
283
|
+
offerMediaObject,
|
|
284
|
+
});
|
|
279
285
|
// Set RTP encodings.
|
|
280
|
-
sendingRtpParameters.encodings =
|
|
281
|
-
|
|
286
|
+
sendingRtpParameters.encodings = sdpUnifiedPlanUtils.getRtpEncodings({
|
|
287
|
+
offerMediaObject,
|
|
288
|
+
});
|
|
282
289
|
// Complete encodings with given values.
|
|
283
290
|
if (encodings) {
|
|
284
291
|
for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
|
|
@@ -305,7 +312,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
305
312
|
reuseMid: mediaSectionIdx.reuseMid,
|
|
306
313
|
offerRtpParameters: sendingRtpParameters,
|
|
307
314
|
answerRtpParameters: sendingRemoteRtpParameters,
|
|
308
|
-
codecOptions
|
|
315
|
+
codecOptions,
|
|
309
316
|
});
|
|
310
317
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
311
318
|
logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -315,7 +322,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
315
322
|
return {
|
|
316
323
|
localId,
|
|
317
324
|
rtpParameters: sendingRtpParameters,
|
|
318
|
-
rtpSender: transceiver.sender
|
|
325
|
+
rtpSender: transceiver.sender,
|
|
319
326
|
};
|
|
320
327
|
}
|
|
321
328
|
async stopSending(localId) {
|
|
@@ -417,16 +424,16 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
417
424
|
}
|
|
418
425
|
return transceiver.sender.getStats();
|
|
419
426
|
}
|
|
420
|
-
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
427
|
+
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
421
428
|
this.assertSendDirection();
|
|
422
429
|
const options = {
|
|
423
430
|
negotiated: true,
|
|
424
431
|
id: this._nextSendSctpStreamId,
|
|
425
432
|
ordered,
|
|
426
433
|
maxPacketLifeTime,
|
|
427
|
-
maxRetransmitTime: maxPacketLifeTime,
|
|
434
|
+
maxRetransmitTime: maxPacketLifeTime, // NOTE: Old spec.
|
|
428
435
|
maxRetransmits,
|
|
429
|
-
protocol
|
|
436
|
+
protocol,
|
|
430
437
|
};
|
|
431
438
|
logger.debug('sendDataChannel() [options:%o]', options);
|
|
432
439
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -438,12 +445,11 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
438
445
|
if (!this._hasDataChannelMediaSection) {
|
|
439
446
|
const offer = await this._pc.createOffer();
|
|
440
447
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
441
|
-
const offerMediaObject = localSdpObject.media
|
|
442
|
-
.find((m) => m.type === 'application');
|
|
448
|
+
const offerMediaObject = localSdpObject.media.find((m) => m.type === 'application');
|
|
443
449
|
if (!this._transportReady) {
|
|
444
450
|
await this.setupTransport({
|
|
445
451
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
446
|
-
localSdpObject
|
|
452
|
+
localSdpObject,
|
|
447
453
|
});
|
|
448
454
|
}
|
|
449
455
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
@@ -458,7 +464,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
458
464
|
streamId: options.id,
|
|
459
465
|
ordered: options.ordered,
|
|
460
466
|
maxPacketLifeTime: options.maxPacketLifeTime,
|
|
461
|
-
maxRetransmits: options.maxRetransmits
|
|
467
|
+
maxRetransmits: options.maxRetransmits,
|
|
462
468
|
};
|
|
463
469
|
return { dataChannel, sctpStreamParameters };
|
|
464
470
|
}
|
|
@@ -476,7 +482,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
476
482
|
kind,
|
|
477
483
|
offerRtpParameters: rtpParameters,
|
|
478
484
|
streamId: streamId || rtpParameters.rtcp.cname,
|
|
479
|
-
trackId
|
|
485
|
+
trackId,
|
|
480
486
|
});
|
|
481
487
|
}
|
|
482
488
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
@@ -487,20 +493,19 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
487
493
|
for (const options of optionsList) {
|
|
488
494
|
const { trackId, rtpParameters } = options;
|
|
489
495
|
const localId = mapLocalId.get(trackId);
|
|
490
|
-
const answerMediaObject = localSdpObject.media
|
|
491
|
-
.find((m) => String(m.mid) === localId);
|
|
496
|
+
const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId);
|
|
492
497
|
// May need to modify codec parameters in the answer based on codec
|
|
493
498
|
// parameters in the offer.
|
|
494
499
|
sdpCommonUtils.applyCodecParameters({
|
|
495
500
|
offerRtpParameters: rtpParameters,
|
|
496
|
-
answerMediaObject
|
|
501
|
+
answerMediaObject,
|
|
497
502
|
});
|
|
498
503
|
}
|
|
499
504
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
500
505
|
if (!this._transportReady) {
|
|
501
506
|
await this.setupTransport({
|
|
502
507
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
503
|
-
localSdpObject
|
|
508
|
+
localSdpObject,
|
|
504
509
|
});
|
|
505
510
|
}
|
|
506
511
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
@@ -508,7 +513,8 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
508
513
|
for (const options of optionsList) {
|
|
509
514
|
const { trackId } = options;
|
|
510
515
|
const localId = mapLocalId.get(trackId);
|
|
511
|
-
const transceiver = this._pc
|
|
516
|
+
const transceiver = this._pc
|
|
517
|
+
.getTransceivers()
|
|
512
518
|
.find((t) => t.mid === localId);
|
|
513
519
|
if (!transceiver) {
|
|
514
520
|
throw new Error('new RTCRtpTransceiver not found');
|
|
@@ -518,7 +524,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
518
524
|
results.push({
|
|
519
525
|
localId,
|
|
520
526
|
track: transceiver.receiver.track,
|
|
521
|
-
rtpReceiver: transceiver.receiver
|
|
527
|
+
rtpReceiver: transceiver.receiver,
|
|
522
528
|
});
|
|
523
529
|
}
|
|
524
530
|
return results;
|
|
@@ -561,17 +567,17 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
561
567
|
}
|
|
562
568
|
return transceiver.receiver.getStats();
|
|
563
569
|
}
|
|
564
|
-
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
570
|
+
async receiveDataChannel({ sctpStreamParameters, label, protocol, }) {
|
|
565
571
|
this.assertRecvDirection();
|
|
566
|
-
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
572
|
+
const { streamId, ordered, maxPacketLifeTime, maxRetransmits, } = sctpStreamParameters;
|
|
567
573
|
const options = {
|
|
568
574
|
negotiated: true,
|
|
569
575
|
id: streamId,
|
|
570
576
|
ordered,
|
|
571
577
|
maxPacketLifeTime,
|
|
572
|
-
maxRetransmitTime: maxPacketLifeTime,
|
|
578
|
+
maxRetransmitTime: maxPacketLifeTime, // NOTE: Old spec.
|
|
573
579
|
maxRetransmits,
|
|
574
|
-
protocol
|
|
580
|
+
protocol,
|
|
575
581
|
};
|
|
576
582
|
logger.debug('receiveDataChannel() [options:%o]', options);
|
|
577
583
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -587,7 +593,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
587
593
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
588
594
|
await this.setupTransport({
|
|
589
595
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
590
|
-
localSdpObject
|
|
596
|
+
localSdpObject,
|
|
591
597
|
});
|
|
592
598
|
}
|
|
593
599
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -596,12 +602,14 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
596
602
|
}
|
|
597
603
|
return { dataChannel };
|
|
598
604
|
}
|
|
599
|
-
async setupTransport({ localDtlsRole, localSdpObject }) {
|
|
605
|
+
async setupTransport({ localDtlsRole, localSdpObject, }) {
|
|
600
606
|
if (!localSdpObject) {
|
|
601
607
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
602
608
|
}
|
|
603
609
|
// Get our local DTLS parameters.
|
|
604
|
-
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
610
|
+
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
611
|
+
sdpObject: localSdpObject,
|
|
612
|
+
});
|
|
605
613
|
// Set our DTLS role.
|
|
606
614
|
dtlsParameters.role = localDtlsRole;
|
|
607
615
|
// Update the remote DTLS role in the SDP.
|
|
@@ -24,11 +24,11 @@ export declare class Chrome74 extends HandlerInterface {
|
|
|
24
24
|
close(): void;
|
|
25
25
|
getNativeRtpCapabilities(): Promise<RtpCapabilities>;
|
|
26
26
|
getNativeSctpCapabilities(): Promise<SctpCapabilities>;
|
|
27
|
-
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
|
|
27
|
+
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }: HandlerRunOptions): void;
|
|
28
28
|
updateIceServers(iceServers: RTCIceServer[]): Promise<void>;
|
|
29
29
|
restartIce(iceParameters: IceParameters): Promise<void>;
|
|
30
30
|
getTransportStats(): Promise<RTCStatsReport>;
|
|
31
|
-
send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
|
|
31
|
+
send({ track, encodings, codecOptions, codec, }: HandlerSendOptions): Promise<HandlerSendResult>;
|
|
32
32
|
stopSending(localId: string): Promise<void>;
|
|
33
33
|
pauseSending(localId: string): Promise<void>;
|
|
34
34
|
resumeSending(localId: string): Promise<void>;
|
|
@@ -36,13 +36,13 @@ export declare class Chrome74 extends HandlerInterface {
|
|
|
36
36
|
setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
|
|
37
37
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
38
38
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
39
|
-
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
39
|
+
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
40
40
|
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
41
41
|
stopReceiving(localIds: string[]): Promise<void>;
|
|
42
42
|
pauseReceiving(localIds: string[]): Promise<void>;
|
|
43
43
|
resumeReceiving(localIds: string[]): Promise<void>;
|
|
44
44
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
45
|
-
receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
45
|
+
receiveDataChannel({ sctpStreamParameters, label, protocol, }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
46
46
|
private setupTransport;
|
|
47
47
|
private assertNotClosed;
|
|
48
48
|
private assertSendDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EACN,eAAe,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EACN,eAAe,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAE7C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAG7E,OAAO,CAAC,oBAAoB,CAAC,CAAW;IAExC,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACxB;IAEX,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;;IAQtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;IAmBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAuCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQ5D,GAAG,CAAC,EACH,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACvB,EAAE,iBAAiB,GAAG,IAAI;IA+FrB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAM5C,IAAI,CAAC,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,KAAK,GACL,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmK5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7C,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;IAuBV,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAmDV,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAaxD,eAAe,CAAC,EACrB,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,GACR,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoElE,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GAClC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA4F5B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0ChD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoClD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAa1D,kBAAkB,CAAC,EACxB,oBAAoB,EACpB,KAAK,EACL,QAAQ,GACR,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC;YA8DhE,cAAc;IAgC5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;CAO3B"}
|