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
|
@@ -88,7 +88,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
88
88
|
iceTransportPolicy: 'all',
|
|
89
89
|
bundlePolicy: 'max-bundle',
|
|
90
90
|
rtcpMuxPolicy: 'require',
|
|
91
|
-
sdpSemantics: 'unified-plan'
|
|
91
|
+
sdpSemantics: 'unified-plan',
|
|
92
92
|
});
|
|
93
93
|
try {
|
|
94
94
|
pc.addTransceiver('audio');
|
|
@@ -99,7 +99,9 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
99
99
|
}
|
|
100
100
|
catch (error) { }
|
|
101
101
|
const sdpObject = sdpTransform.parse(offer.sdp);
|
|
102
|
-
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
102
|
+
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
103
|
+
sdpObject,
|
|
104
|
+
});
|
|
103
105
|
// libwebrtc supports NACK for OPUS but doesn't announce it.
|
|
104
106
|
ortcUtils.addNackSuppportForOpus(nativeRtpCapabilities);
|
|
105
107
|
return nativeRtpCapabilities;
|
|
@@ -115,10 +117,10 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
115
117
|
async getNativeSctpCapabilities() {
|
|
116
118
|
logger.debug('getNativeSctpCapabilities()');
|
|
117
119
|
return {
|
|
118
|
-
numStreams: SCTP_NUM_STREAMS
|
|
120
|
+
numStreams: SCTP_NUM_STREAMS,
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
|
-
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }) {
|
|
123
|
+
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }) {
|
|
122
124
|
this.assertNotClosed();
|
|
123
125
|
logger.debug('run()');
|
|
124
126
|
this._direction = direction;
|
|
@@ -126,22 +128,19 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
126
128
|
iceParameters,
|
|
127
129
|
iceCandidates,
|
|
128
130
|
dtlsParameters,
|
|
129
|
-
sctpParameters
|
|
131
|
+
sctpParameters,
|
|
130
132
|
});
|
|
131
|
-
this._sendingRtpParametersByKind =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
140
|
-
};
|
|
133
|
+
this._sendingRtpParametersByKind = {
|
|
134
|
+
audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
|
|
135
|
+
video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities),
|
|
136
|
+
};
|
|
137
|
+
this._sendingRemoteRtpParametersByKind = {
|
|
138
|
+
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
139
|
+
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
|
|
140
|
+
};
|
|
141
141
|
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
142
|
-
this._forcedLocalDtlsRole =
|
|
143
|
-
? 'client'
|
|
144
|
-
: 'server';
|
|
142
|
+
this._forcedLocalDtlsRole =
|
|
143
|
+
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
145
144
|
}
|
|
146
145
|
this._pc = new RTCPeerConnection({
|
|
147
146
|
iceServers: iceServers || [],
|
|
@@ -149,7 +148,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
149
148
|
bundlePolicy: 'max-bundle',
|
|
150
149
|
rtcpMuxPolicy: 'require',
|
|
151
150
|
sdpSemantics: 'unified-plan',
|
|
152
|
-
...additionalSettings
|
|
151
|
+
...additionalSettings,
|
|
153
152
|
}, proprietaryConstraints);
|
|
154
153
|
this._pc.addEventListener('icegatheringstatechange', () => {
|
|
155
154
|
this.emit('@icegatheringstatechange', this._pc.iceGatheringState);
|
|
@@ -163,22 +162,27 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
163
162
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
164
163
|
logger.warn('run() | pc.connectionState not supported, using pc.iceConnectionState');
|
|
165
164
|
switch (this._pc.iceConnectionState) {
|
|
166
|
-
case 'checking':
|
|
165
|
+
case 'checking': {
|
|
167
166
|
this.emit('@connectionstatechange', 'connecting');
|
|
168
167
|
break;
|
|
168
|
+
}
|
|
169
169
|
case 'connected':
|
|
170
|
-
case 'completed':
|
|
170
|
+
case 'completed': {
|
|
171
171
|
this.emit('@connectionstatechange', 'connected');
|
|
172
172
|
break;
|
|
173
|
-
|
|
173
|
+
}
|
|
174
|
+
case 'failed': {
|
|
174
175
|
this.emit('@connectionstatechange', 'failed');
|
|
175
176
|
break;
|
|
176
|
-
|
|
177
|
+
}
|
|
178
|
+
case 'disconnected': {
|
|
177
179
|
this.emit('@connectionstatechange', 'disconnected');
|
|
178
180
|
break;
|
|
179
|
-
|
|
181
|
+
}
|
|
182
|
+
case 'closed': {
|
|
180
183
|
this.emit('@connectionstatechange', 'closed');
|
|
181
184
|
break;
|
|
185
|
+
}
|
|
182
186
|
}
|
|
183
187
|
});
|
|
184
188
|
}
|
|
@@ -219,7 +223,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
219
223
|
this.assertNotClosed();
|
|
220
224
|
return this._pc.getStats();
|
|
221
225
|
}
|
|
222
|
-
async send({ track, encodings, codecOptions, codec }) {
|
|
226
|
+
async send({ track, encodings, codecOptions, codec, }) {
|
|
223
227
|
this.assertNotClosed();
|
|
224
228
|
this.assertSendDirection();
|
|
225
229
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
@@ -230,17 +234,15 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
230
234
|
}
|
|
231
235
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
232
236
|
// This may throw.
|
|
233
|
-
sendingRtpParameters.codecs =
|
|
234
|
-
ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
|
|
237
|
+
sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
|
|
235
238
|
const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind]);
|
|
236
239
|
// This may throw.
|
|
237
|
-
sendingRemoteRtpParameters.codecs =
|
|
238
|
-
ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
|
|
240
|
+
sendingRemoteRtpParameters.codecs = ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
|
|
239
241
|
const mediaSectionIdx = this._remoteSdp.getNextMediaSectionIdx();
|
|
240
242
|
const transceiver = this._pc.addTransceiver(track, {
|
|
241
243
|
direction: 'sendonly',
|
|
242
244
|
streams: [this._sendStream],
|
|
243
|
-
sendEncodings: encodings
|
|
245
|
+
sendEncodings: encodings,
|
|
244
246
|
});
|
|
245
247
|
let offer = await this._pc.createOffer();
|
|
246
248
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -248,7 +250,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
248
250
|
if (!this._transportReady) {
|
|
249
251
|
await this.setupTransport({
|
|
250
252
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
251
|
-
localSdpObject
|
|
253
|
+
localSdpObject,
|
|
252
254
|
});
|
|
253
255
|
}
|
|
254
256
|
// Special case for VP9 with SVC.
|
|
@@ -264,7 +266,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
264
266
|
offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
265
267
|
sdpUnifiedPlanUtils.addLegacySimulcast({
|
|
266
268
|
offerMediaObject,
|
|
267
|
-
numStreams: layers.spatialLayers
|
|
269
|
+
numStreams: layers.spatialLayers,
|
|
268
270
|
});
|
|
269
271
|
offer = { type: 'offer', sdp: sdpTransform.write(localSdpObject) };
|
|
270
272
|
}
|
|
@@ -287,17 +289,21 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
287
289
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
288
290
|
offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
289
291
|
// Set RTCP CNAME.
|
|
290
|
-
sendingRtpParameters.rtcp.cname =
|
|
291
|
-
|
|
292
|
+
sendingRtpParameters.rtcp.cname = sdpCommonUtils.getCname({
|
|
293
|
+
offerMediaObject,
|
|
294
|
+
});
|
|
292
295
|
// Set RTP encodings by parsing the SDP offer if no encodings are given.
|
|
293
296
|
if (!encodings) {
|
|
294
|
-
sendingRtpParameters.encodings =
|
|
295
|
-
|
|
297
|
+
sendingRtpParameters.encodings = sdpUnifiedPlanUtils.getRtpEncodings({
|
|
298
|
+
offerMediaObject,
|
|
299
|
+
});
|
|
296
300
|
}
|
|
297
301
|
// Set RTP encodings by parsing the SDP offer and complete them with given
|
|
298
302
|
// one if just a single encoding has been given.
|
|
299
303
|
else if (encodings.length === 1) {
|
|
300
|
-
let newEncodings = sdpUnifiedPlanUtils.getRtpEncodings({
|
|
304
|
+
let newEncodings = sdpUnifiedPlanUtils.getRtpEncodings({
|
|
305
|
+
offerMediaObject,
|
|
306
|
+
});
|
|
301
307
|
Object.assign(newEncodings[0], encodings[0]);
|
|
302
308
|
// Hack for VP9 SVC.
|
|
303
309
|
if (hackVp9Svc) {
|
|
@@ -329,7 +335,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
329
335
|
offerRtpParameters: sendingRtpParameters,
|
|
330
336
|
answerRtpParameters: sendingRemoteRtpParameters,
|
|
331
337
|
codecOptions,
|
|
332
|
-
extmapAllowMixed: true
|
|
338
|
+
extmapAllowMixed: true,
|
|
333
339
|
});
|
|
334
340
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
335
341
|
logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -347,7 +353,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
347
353
|
return {
|
|
348
354
|
localId,
|
|
349
355
|
rtpParameters: sendingRtpParameters,
|
|
350
|
-
rtpSender: transceiver.sender
|
|
356
|
+
rtpSender: transceiver.sender,
|
|
351
357
|
};
|
|
352
358
|
}
|
|
353
359
|
async stopSending(localId) {
|
|
@@ -482,7 +488,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
482
488
|
}
|
|
483
489
|
return transceiver.sender.getStats();
|
|
484
490
|
}
|
|
485
|
-
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
491
|
+
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
486
492
|
this.assertNotClosed();
|
|
487
493
|
this.assertSendDirection();
|
|
488
494
|
const options = {
|
|
@@ -491,7 +497,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
491
497
|
ordered,
|
|
492
498
|
maxPacketLifeTime,
|
|
493
499
|
maxRetransmits,
|
|
494
|
-
protocol
|
|
500
|
+
protocol,
|
|
495
501
|
};
|
|
496
502
|
logger.debug('sendDataChannel() [options:%o]', options);
|
|
497
503
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -503,12 +509,11 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
503
509
|
if (!this._hasDataChannelMediaSection) {
|
|
504
510
|
const offer = await this._pc.createOffer();
|
|
505
511
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
506
|
-
const offerMediaObject = localSdpObject.media
|
|
507
|
-
.find((m) => m.type === 'application');
|
|
512
|
+
const offerMediaObject = localSdpObject.media.find((m) => m.type === 'application');
|
|
508
513
|
if (!this._transportReady) {
|
|
509
514
|
await this.setupTransport({
|
|
510
515
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
511
|
-
localSdpObject
|
|
516
|
+
localSdpObject,
|
|
512
517
|
});
|
|
513
518
|
}
|
|
514
519
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
@@ -523,7 +528,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
523
528
|
streamId: options.id,
|
|
524
529
|
ordered: options.ordered,
|
|
525
530
|
maxPacketLifeTime: options.maxPacketLifeTime,
|
|
526
|
-
maxRetransmits: options.maxRetransmits
|
|
531
|
+
maxRetransmits: options.maxRetransmits,
|
|
527
532
|
};
|
|
528
533
|
return { dataChannel, sctpStreamParameters };
|
|
529
534
|
}
|
|
@@ -542,7 +547,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
542
547
|
kind,
|
|
543
548
|
offerRtpParameters: rtpParameters,
|
|
544
549
|
streamId: streamId || rtpParameters.rtcp.cname,
|
|
545
|
-
trackId
|
|
550
|
+
trackId,
|
|
546
551
|
});
|
|
547
552
|
}
|
|
548
553
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
@@ -553,20 +558,19 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
553
558
|
for (const options of optionsList) {
|
|
554
559
|
const { trackId, rtpParameters } = options;
|
|
555
560
|
const localId = mapLocalId.get(trackId);
|
|
556
|
-
const answerMediaObject = localSdpObject.media
|
|
557
|
-
.find((m) => String(m.mid) === localId);
|
|
561
|
+
const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId);
|
|
558
562
|
// May need to modify codec parameters in the answer based on codec
|
|
559
563
|
// parameters in the offer.
|
|
560
564
|
sdpCommonUtils.applyCodecParameters({
|
|
561
565
|
offerRtpParameters: rtpParameters,
|
|
562
|
-
answerMediaObject
|
|
566
|
+
answerMediaObject,
|
|
563
567
|
});
|
|
564
568
|
}
|
|
565
569
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
566
570
|
if (!this._transportReady) {
|
|
567
571
|
await this.setupTransport({
|
|
568
572
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
569
|
-
localSdpObject
|
|
573
|
+
localSdpObject,
|
|
570
574
|
});
|
|
571
575
|
}
|
|
572
576
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
@@ -574,7 +578,8 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
574
578
|
for (const options of optionsList) {
|
|
575
579
|
const { trackId } = options;
|
|
576
580
|
const localId = mapLocalId.get(trackId);
|
|
577
|
-
const transceiver = this._pc
|
|
581
|
+
const transceiver = this._pc
|
|
582
|
+
.getTransceivers()
|
|
578
583
|
.find((t) => t.mid === localId);
|
|
579
584
|
if (!transceiver) {
|
|
580
585
|
throw new Error('new RTCRtpTransceiver not found');
|
|
@@ -585,7 +590,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
585
590
|
results.push({
|
|
586
591
|
localId,
|
|
587
592
|
track: transceiver.receiver.track,
|
|
588
|
-
rtpReceiver: transceiver.receiver
|
|
593
|
+
rtpReceiver: transceiver.receiver,
|
|
589
594
|
});
|
|
590
595
|
}
|
|
591
596
|
}
|
|
@@ -661,17 +666,17 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
661
666
|
}
|
|
662
667
|
return transceiver.receiver.getStats();
|
|
663
668
|
}
|
|
664
|
-
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
669
|
+
async receiveDataChannel({ sctpStreamParameters, label, protocol, }) {
|
|
665
670
|
this.assertNotClosed();
|
|
666
671
|
this.assertRecvDirection();
|
|
667
|
-
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
672
|
+
const { streamId, ordered, maxPacketLifeTime, maxRetransmits, } = sctpStreamParameters;
|
|
668
673
|
const options = {
|
|
669
674
|
negotiated: true,
|
|
670
675
|
id: streamId,
|
|
671
676
|
ordered,
|
|
672
677
|
maxPacketLifeTime,
|
|
673
678
|
maxRetransmits,
|
|
674
|
-
protocol
|
|
679
|
+
protocol,
|
|
675
680
|
};
|
|
676
681
|
logger.debug('receiveDataChannel() [options:%o]', options);
|
|
677
682
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -687,7 +692,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
687
692
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
688
693
|
await this.setupTransport({
|
|
689
694
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
690
|
-
localSdpObject
|
|
695
|
+
localSdpObject,
|
|
691
696
|
});
|
|
692
697
|
}
|
|
693
698
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -696,12 +701,14 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
696
701
|
}
|
|
697
702
|
return { dataChannel };
|
|
698
703
|
}
|
|
699
|
-
async setupTransport({ localDtlsRole, localSdpObject }) {
|
|
704
|
+
async setupTransport({ localDtlsRole, localSdpObject, }) {
|
|
700
705
|
if (!localSdpObject) {
|
|
701
706
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
702
707
|
}
|
|
703
708
|
// Get our local DTLS parameters.
|
|
704
|
-
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
709
|
+
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
710
|
+
sdpObject: localSdpObject,
|
|
711
|
+
});
|
|
705
712
|
// Set our DTLS role.
|
|
706
713
|
dtlsParameters.role = localDtlsRole;
|
|
707
714
|
// Update the remote DTLS role in the SDP.
|
|
@@ -25,11 +25,11 @@ export declare class Safari11 extends HandlerInterface {
|
|
|
25
25
|
close(): void;
|
|
26
26
|
getNativeRtpCapabilities(): Promise<RtpCapabilities>;
|
|
27
27
|
getNativeSctpCapabilities(): Promise<SctpCapabilities>;
|
|
28
|
-
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
|
|
28
|
+
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }: HandlerRunOptions): void;
|
|
29
29
|
updateIceServers(iceServers: RTCIceServer[]): Promise<void>;
|
|
30
30
|
restartIce(iceParameters: IceParameters): Promise<void>;
|
|
31
31
|
getTransportStats(): Promise<RTCStatsReport>;
|
|
32
|
-
send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
|
|
32
|
+
send({ track, encodings, codecOptions, codec, }: HandlerSendOptions): Promise<HandlerSendResult>;
|
|
33
33
|
stopSending(localId: string): Promise<void>;
|
|
34
34
|
pauseSending(localId: string): Promise<void>;
|
|
35
35
|
resumeSending(localId: string): Promise<void>;
|
|
@@ -37,13 +37,13 @@ export declare class Safari11 extends HandlerInterface {
|
|
|
37
37
|
setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
|
|
38
38
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
39
39
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
40
|
-
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
40
|
+
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
41
41
|
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
42
42
|
stopReceiving(localIds: string[]): Promise<void>;
|
|
43
43
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
44
44
|
pauseReceiving(localIds: string[]): Promise<void>;
|
|
45
45
|
resumeReceiving(localIds: string[]): Promise<void>;
|
|
46
|
-
receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
46
|
+
receiveDataChannel({ sctpStreamParameters, label, protocol, }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
47
47
|
private setupTransport;
|
|
48
48
|
private assertSendDirection;
|
|
49
49
|
private assertRecvDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"AAMA,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;AAE5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}
|