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/Safari11.js
CHANGED
|
@@ -80,19 +80,21 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
80
80
|
iceTransportPolicy: 'all',
|
|
81
81
|
bundlePolicy: 'max-bundle',
|
|
82
82
|
rtcpMuxPolicy: 'require',
|
|
83
|
-
sdpSemantics: 'plan-b'
|
|
83
|
+
sdpSemantics: 'plan-b',
|
|
84
84
|
});
|
|
85
85
|
try {
|
|
86
86
|
const offer = await pc.createOffer({
|
|
87
87
|
offerToReceiveAudio: true,
|
|
88
|
-
offerToReceiveVideo: true
|
|
88
|
+
offerToReceiveVideo: true,
|
|
89
89
|
});
|
|
90
90
|
try {
|
|
91
91
|
pc.close();
|
|
92
92
|
}
|
|
93
93
|
catch (error) { }
|
|
94
94
|
const sdpObject = sdpTransform.parse(offer.sdp);
|
|
95
|
-
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
95
|
+
const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
|
|
96
|
+
sdpObject,
|
|
97
|
+
});
|
|
96
98
|
return nativeRtpCapabilities;
|
|
97
99
|
}
|
|
98
100
|
catch (error) {
|
|
@@ -106,10 +108,10 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
106
108
|
async getNativeSctpCapabilities() {
|
|
107
109
|
logger.debug('getNativeSctpCapabilities()');
|
|
108
110
|
return {
|
|
109
|
-
numStreams: SCTP_NUM_STREAMS
|
|
111
|
+
numStreams: SCTP_NUM_STREAMS,
|
|
110
112
|
};
|
|
111
113
|
}
|
|
112
|
-
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }) {
|
|
114
|
+
run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }) {
|
|
113
115
|
logger.debug('run()');
|
|
114
116
|
this._direction = direction;
|
|
115
117
|
this._remoteSdp = new RemoteSdp_1.RemoteSdp({
|
|
@@ -117,29 +119,26 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
117
119
|
iceCandidates,
|
|
118
120
|
dtlsParameters,
|
|
119
121
|
sctpParameters,
|
|
120
|
-
planB: true
|
|
122
|
+
planB: true,
|
|
121
123
|
});
|
|
122
|
-
this._sendingRtpParametersByKind =
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
131
|
-
};
|
|
124
|
+
this._sendingRtpParametersByKind = {
|
|
125
|
+
audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
|
|
126
|
+
video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities),
|
|
127
|
+
};
|
|
128
|
+
this._sendingRemoteRtpParametersByKind = {
|
|
129
|
+
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
130
|
+
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
|
|
131
|
+
};
|
|
132
132
|
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
133
|
-
this._forcedLocalDtlsRole =
|
|
134
|
-
? 'client'
|
|
135
|
-
: 'server';
|
|
133
|
+
this._forcedLocalDtlsRole =
|
|
134
|
+
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
136
135
|
}
|
|
137
136
|
this._pc = new RTCPeerConnection({
|
|
138
137
|
iceServers: iceServers || [],
|
|
139
138
|
iceTransportPolicy: iceTransportPolicy || 'all',
|
|
140
139
|
bundlePolicy: 'max-bundle',
|
|
141
140
|
rtcpMuxPolicy: 'require',
|
|
142
|
-
...additionalSettings
|
|
141
|
+
...additionalSettings,
|
|
143
142
|
}, proprietaryConstraints);
|
|
144
143
|
this._pc.addEventListener('icegatheringstatechange', () => {
|
|
145
144
|
this.emit('@icegatheringstatechange', this._pc.iceGatheringState);
|
|
@@ -153,22 +152,27 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
153
152
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
154
153
|
logger.warn('run() | pc.connectionState not supported, using pc.iceConnectionState');
|
|
155
154
|
switch (this._pc.iceConnectionState) {
|
|
156
|
-
case 'checking':
|
|
155
|
+
case 'checking': {
|
|
157
156
|
this.emit('@connectionstatechange', 'connecting');
|
|
158
157
|
break;
|
|
158
|
+
}
|
|
159
159
|
case 'connected':
|
|
160
|
-
case 'completed':
|
|
160
|
+
case 'completed': {
|
|
161
161
|
this.emit('@connectionstatechange', 'connected');
|
|
162
162
|
break;
|
|
163
|
-
|
|
163
|
+
}
|
|
164
|
+
case 'failed': {
|
|
164
165
|
this.emit('@connectionstatechange', 'failed');
|
|
165
166
|
break;
|
|
166
|
-
|
|
167
|
+
}
|
|
168
|
+
case 'disconnected': {
|
|
167
169
|
this.emit('@connectionstatechange', 'disconnected');
|
|
168
170
|
break;
|
|
169
|
-
|
|
171
|
+
}
|
|
172
|
+
case 'closed': {
|
|
170
173
|
this.emit('@connectionstatechange', 'closed');
|
|
171
174
|
break;
|
|
175
|
+
}
|
|
172
176
|
}
|
|
173
177
|
});
|
|
174
178
|
}
|
|
@@ -206,7 +210,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
206
210
|
async getTransportStats() {
|
|
207
211
|
return this._pc.getStats();
|
|
208
212
|
}
|
|
209
|
-
async send({ track, encodings, codecOptions, codec }) {
|
|
213
|
+
async send({ track, encodings, codecOptions, codec, }) {
|
|
210
214
|
this.assertSendDirection();
|
|
211
215
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
212
216
|
if (codec) {
|
|
@@ -218,15 +222,13 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
218
222
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
219
223
|
let offerMediaObject;
|
|
220
224
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
221
|
-
sendingRtpParameters.codecs =
|
|
222
|
-
ortc.reduceCodecs(sendingRtpParameters.codecs);
|
|
225
|
+
sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs);
|
|
223
226
|
const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind]);
|
|
224
|
-
sendingRemoteRtpParameters.codecs =
|
|
225
|
-
ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
|
|
227
|
+
sendingRemoteRtpParameters.codecs = ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
|
|
226
228
|
if (!this._transportReady) {
|
|
227
229
|
await this.setupTransport({
|
|
228
230
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
229
|
-
localSdpObject
|
|
231
|
+
localSdpObject,
|
|
230
232
|
});
|
|
231
233
|
}
|
|
232
234
|
if (track.kind === 'video' && encodings && encodings.length > 1) {
|
|
@@ -236,21 +238,23 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
236
238
|
sdpPlanBUtils.addLegacySimulcast({
|
|
237
239
|
offerMediaObject,
|
|
238
240
|
track,
|
|
239
|
-
numStreams: encodings.length
|
|
241
|
+
numStreams: encodings.length,
|
|
240
242
|
});
|
|
241
243
|
offer = { type: 'offer', sdp: sdpTransform.write(localSdpObject) };
|
|
242
244
|
}
|
|
243
245
|
logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
244
246
|
await this._pc.setLocalDescription(offer);
|
|
245
247
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
246
|
-
offerMediaObject = localSdpObject.media
|
|
247
|
-
.find((m) => m.type === track.kind);
|
|
248
|
+
offerMediaObject = localSdpObject.media.find((m) => m.type === track.kind);
|
|
248
249
|
// Set RTCP CNAME.
|
|
249
|
-
sendingRtpParameters.rtcp.cname =
|
|
250
|
-
|
|
250
|
+
sendingRtpParameters.rtcp.cname = sdpCommonUtils.getCname({
|
|
251
|
+
offerMediaObject,
|
|
252
|
+
});
|
|
251
253
|
// Set RTP encodings.
|
|
252
|
-
sendingRtpParameters.encodings =
|
|
253
|
-
|
|
254
|
+
sendingRtpParameters.encodings = sdpPlanBUtils.getRtpEncodings({
|
|
255
|
+
offerMediaObject,
|
|
256
|
+
track,
|
|
257
|
+
});
|
|
254
258
|
// Complete encodings with given values.
|
|
255
259
|
if (encodings) {
|
|
256
260
|
for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
|
|
@@ -271,21 +275,22 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
271
275
|
offerMediaObject,
|
|
272
276
|
offerRtpParameters: sendingRtpParameters,
|
|
273
277
|
answerRtpParameters: sendingRemoteRtpParameters,
|
|
274
|
-
codecOptions
|
|
278
|
+
codecOptions,
|
|
275
279
|
});
|
|
276
280
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
277
281
|
logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
278
282
|
await this._pc.setRemoteDescription(answer);
|
|
279
283
|
const localId = String(this._nextSendLocalId);
|
|
280
284
|
this._nextSendLocalId++;
|
|
281
|
-
const rtpSender = this._pc
|
|
285
|
+
const rtpSender = this._pc
|
|
286
|
+
.getSenders()
|
|
282
287
|
.find((s) => s.track === track);
|
|
283
288
|
// Insert into the map.
|
|
284
289
|
this._mapSendLocalIdRtpSender.set(localId, rtpSender);
|
|
285
290
|
return {
|
|
286
291
|
localId: localId,
|
|
287
292
|
rtpParameters: sendingRtpParameters,
|
|
288
|
-
rtpSender
|
|
293
|
+
rtpSender,
|
|
289
294
|
};
|
|
290
295
|
}
|
|
291
296
|
async stopSending(localId) {
|
|
@@ -389,7 +394,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
389
394
|
}
|
|
390
395
|
return rtpSender.getStats();
|
|
391
396
|
}
|
|
392
|
-
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
397
|
+
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
393
398
|
this.assertSendDirection();
|
|
394
399
|
const options = {
|
|
395
400
|
negotiated: true,
|
|
@@ -397,7 +402,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
397
402
|
ordered,
|
|
398
403
|
maxPacketLifeTime,
|
|
399
404
|
maxRetransmits,
|
|
400
|
-
protocol
|
|
405
|
+
protocol,
|
|
401
406
|
};
|
|
402
407
|
logger.debug('sendDataChannel() [options:%o]', options);
|
|
403
408
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -409,12 +414,11 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
409
414
|
if (!this._hasDataChannelMediaSection) {
|
|
410
415
|
const offer = await this._pc.createOffer();
|
|
411
416
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
412
|
-
const offerMediaObject = localSdpObject.media
|
|
413
|
-
.find((m) => m.type === 'application');
|
|
417
|
+
const offerMediaObject = localSdpObject.media.find((m) => m.type === 'application');
|
|
414
418
|
if (!this._transportReady) {
|
|
415
419
|
await this.setupTransport({
|
|
416
420
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
417
|
-
localSdpObject
|
|
421
|
+
localSdpObject,
|
|
418
422
|
});
|
|
419
423
|
}
|
|
420
424
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
@@ -429,7 +433,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
429
433
|
streamId: options.id,
|
|
430
434
|
ordered: options.ordered,
|
|
431
435
|
maxPacketLifeTime: options.maxPacketLifeTime,
|
|
432
|
-
maxRetransmits: options.maxRetransmits
|
|
436
|
+
maxRetransmits: options.maxRetransmits,
|
|
433
437
|
};
|
|
434
438
|
return { dataChannel, sctpStreamParameters };
|
|
435
439
|
}
|
|
@@ -445,7 +449,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
445
449
|
kind,
|
|
446
450
|
offerRtpParameters: rtpParameters,
|
|
447
451
|
streamId: streamId || rtpParameters.rtcp.cname,
|
|
448
|
-
trackId
|
|
452
|
+
trackId,
|
|
449
453
|
});
|
|
450
454
|
}
|
|
451
455
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
@@ -456,20 +460,19 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
456
460
|
for (const options of optionsList) {
|
|
457
461
|
const { kind, rtpParameters } = options;
|
|
458
462
|
const mid = kind;
|
|
459
|
-
const answerMediaObject = localSdpObject.media
|
|
460
|
-
.find((m) => String(m.mid) === mid);
|
|
463
|
+
const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === mid);
|
|
461
464
|
// May need to modify codec parameters in the answer based on codec
|
|
462
465
|
// parameters in the offer.
|
|
463
466
|
sdpCommonUtils.applyCodecParameters({
|
|
464
467
|
offerRtpParameters: rtpParameters,
|
|
465
|
-
answerMediaObject
|
|
468
|
+
answerMediaObject,
|
|
466
469
|
});
|
|
467
470
|
}
|
|
468
471
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
469
472
|
if (!this._transportReady) {
|
|
470
473
|
await this.setupTransport({
|
|
471
474
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
472
|
-
localSdpObject
|
|
475
|
+
localSdpObject,
|
|
473
476
|
});
|
|
474
477
|
}
|
|
475
478
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
@@ -478,17 +481,22 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
478
481
|
const { kind, trackId, rtpParameters } = options;
|
|
479
482
|
const mid = kind;
|
|
480
483
|
const localId = trackId;
|
|
481
|
-
const rtpReceiver = this._pc
|
|
484
|
+
const rtpReceiver = this._pc
|
|
485
|
+
.getReceivers()
|
|
482
486
|
.find((r) => r.track && r.track.id === localId);
|
|
483
487
|
if (!rtpReceiver) {
|
|
484
488
|
throw new Error('new RTCRtpReceiver not');
|
|
485
489
|
}
|
|
486
490
|
// Insert into the map.
|
|
487
|
-
this._mapRecvLocalIdInfo.set(localId, {
|
|
491
|
+
this._mapRecvLocalIdInfo.set(localId, {
|
|
492
|
+
mid,
|
|
493
|
+
rtpParameters,
|
|
494
|
+
rtpReceiver,
|
|
495
|
+
});
|
|
488
496
|
results.push({
|
|
489
497
|
localId,
|
|
490
498
|
track: rtpReceiver.track,
|
|
491
|
-
rtpReceiver
|
|
499
|
+
rtpReceiver,
|
|
492
500
|
});
|
|
493
501
|
}
|
|
494
502
|
return results;
|
|
@@ -500,7 +508,10 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
500
508
|
const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId) || {};
|
|
501
509
|
// Remove from the map.
|
|
502
510
|
this._mapRecvLocalIdInfo.delete(localId);
|
|
503
|
-
this._remoteSdp.planBStopReceiving({
|
|
511
|
+
this._remoteSdp.planBStopReceiving({
|
|
512
|
+
mid: mid,
|
|
513
|
+
offerRtpParameters: rtpParameters,
|
|
514
|
+
});
|
|
504
515
|
}
|
|
505
516
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
506
517
|
logger.debug('stopReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
@@ -527,7 +538,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
527
538
|
localIds) {
|
|
528
539
|
// Unimplemented.
|
|
529
540
|
}
|
|
530
|
-
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
541
|
+
async receiveDataChannel({ sctpStreamParameters, label, protocol, }) {
|
|
531
542
|
this.assertRecvDirection();
|
|
532
543
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
533
544
|
const options = {
|
|
@@ -536,7 +547,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
536
547
|
ordered,
|
|
537
548
|
maxPacketLifeTime,
|
|
538
549
|
maxRetransmits,
|
|
539
|
-
protocol
|
|
550
|
+
protocol,
|
|
540
551
|
};
|
|
541
552
|
logger.debug('receiveDataChannel() [options:%o]', options);
|
|
542
553
|
const dataChannel = this._pc.createDataChannel(label, options);
|
|
@@ -552,7 +563,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
552
563
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
553
564
|
await this.setupTransport({
|
|
554
565
|
localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
|
|
555
|
-
localSdpObject
|
|
566
|
+
localSdpObject,
|
|
556
567
|
});
|
|
557
568
|
}
|
|
558
569
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -561,12 +572,14 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
561
572
|
}
|
|
562
573
|
return { dataChannel };
|
|
563
574
|
}
|
|
564
|
-
async setupTransport({ localDtlsRole, localSdpObject }) {
|
|
575
|
+
async setupTransport({ localDtlsRole, localSdpObject, }) {
|
|
565
576
|
if (!localSdpObject) {
|
|
566
577
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
567
578
|
}
|
|
568
579
|
// Get our local DTLS parameters.
|
|
569
|
-
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
580
|
+
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
|
|
581
|
+
sdpObject: localSdpObject,
|
|
582
|
+
});
|
|
570
583
|
// Set our DTLS role.
|
|
571
584
|
dtlsParameters.role = localDtlsRole;
|
|
572
585
|
// Update the remote DTLS role in the SDP.
|
|
@@ -24,11 +24,11 @@ export declare class Safari12 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 Safari12 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":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.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,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"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"}
|