mediasoup-client 3.7.14 → 3.7.15
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/lib/Consumer.js +1 -1
- package/lib/DataConsumer.js +1 -1
- package/lib/DataProducer.js +1 -1
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +1 -0
- package/lib/Producer.js +1 -1
- package/lib/Transport.js +4 -4
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +0 -3
- package/lib/handlers/Chrome111.d.ts.map +1 -1
- package/lib/handlers/Chrome111.js +7 -6
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +7 -6
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +7 -6
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +9 -8
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +8 -7
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +5 -4
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +4 -3
- package/lib/handlers/Firefox120.d.ts.map +1 -1
- package/lib/handlers/Firefox120.js +9 -12
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +15 -20
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +7 -6
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +9 -8
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +7 -6
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +8 -9
- package/lib/handlers/ortc/edgeUtils.js +10 -10
- package/lib/handlers/ortc/utils.js +1 -1
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +12 -13
- package/lib/handlers/sdp/RemoteSdp.js +1 -1
- package/lib/handlers/sdp/commonUtils.js +1 -1
- package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/planBUtils.js +1 -2
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/unifiedPlanUtils.js +2 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/ortc.js +7 -7
- package/lib/scalabilityModes.js +1 -1
- package/lib/test/fakeParameters.d.ts.map +1 -1
- package/lib/test/fakeParameters.js +7 -8
- package/lib/test/test.js +50 -48
- package/npm-scripts.mjs +4 -3
- package/package.json +13 -9
|
@@ -35,6 +35,7 @@ const HandlerInterface_1 = require("./HandlerInterface");
|
|
|
35
35
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
36
36
|
const scalabilityModes_1 = require("../scalabilityModes");
|
|
37
37
|
const logger = new Logger_1.Logger('Firefox120');
|
|
38
|
+
const NAME = 'Firefox120';
|
|
38
39
|
const SCTP_NUM_STREAMS = { OS: 16, MIS: 2048 };
|
|
39
40
|
class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
40
41
|
/**
|
|
@@ -59,7 +60,7 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
59
60
|
this._transportReady = false;
|
|
60
61
|
}
|
|
61
62
|
get name() {
|
|
62
|
-
return
|
|
63
|
+
return NAME;
|
|
63
64
|
}
|
|
64
65
|
close() {
|
|
65
66
|
logger.debug('close()');
|
|
@@ -160,8 +161,8 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
160
161
|
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
|
|
161
162
|
};
|
|
162
163
|
this._pc = new RTCPeerConnection({
|
|
163
|
-
iceServers: iceServers
|
|
164
|
-
iceTransportPolicy: iceTransportPolicy
|
|
164
|
+
iceServers: iceServers ?? [],
|
|
165
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
165
166
|
bundlePolicy: 'max-bundle',
|
|
166
167
|
rtcpMuxPolicy: 'require',
|
|
167
168
|
...additionalSettings,
|
|
@@ -273,7 +274,7 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
273
274
|
if (!this._transportReady) {
|
|
274
275
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
275
276
|
}
|
|
276
|
-
const layers = (0, scalabilityModes_1.parse)((encodings
|
|
277
|
+
const layers = (0, scalabilityModes_1.parse)((encodings ?? [{}])[0].scalabilityMode);
|
|
277
278
|
logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
278
279
|
await this._pc.setLocalDescription(offer);
|
|
279
280
|
// We can now get the transceiver.mid.
|
|
@@ -347,7 +348,7 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
347
348
|
if (!transceiver) {
|
|
348
349
|
throw new Error('associated transceiver not found');
|
|
349
350
|
}
|
|
350
|
-
transceiver.sender.replaceTrack(null);
|
|
351
|
+
void transceiver.sender.replaceTrack(null);
|
|
351
352
|
// NOTE: Cannot use stop() the transceiver due to the the note above in
|
|
352
353
|
// send() method.
|
|
353
354
|
// try
|
|
@@ -369,7 +370,6 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
369
370
|
await this._pc.setRemoteDescription(answer);
|
|
370
371
|
this._mapMidTransceiver.delete(localId);
|
|
371
372
|
}
|
|
372
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
373
373
|
async pauseSending(localId) {
|
|
374
374
|
this.assertNotClosed();
|
|
375
375
|
this.assertSendDirection();
|
|
@@ -387,7 +387,6 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
387
387
|
logger.debug('pauseSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
388
388
|
await this._pc.setRemoteDescription(answer);
|
|
389
389
|
}
|
|
390
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
391
390
|
async resumeSending(localId) {
|
|
392
391
|
this.assertNotClosed();
|
|
393
392
|
this.assertSendDirection();
|
|
@@ -517,9 +516,7 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
517
516
|
};
|
|
518
517
|
return { dataChannel, sctpStreamParameters };
|
|
519
518
|
}
|
|
520
|
-
async receive(
|
|
521
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
522
|
-
optionsList) {
|
|
519
|
+
async receive(optionsList) {
|
|
523
520
|
this.assertNotClosed();
|
|
524
521
|
this.assertRecvDirection();
|
|
525
522
|
const results = [];
|
|
@@ -527,13 +524,13 @@ class Firefox120 extends HandlerInterface_1.HandlerInterface {
|
|
|
527
524
|
for (const options of optionsList) {
|
|
528
525
|
const { trackId, kind, rtpParameters, streamId } = options;
|
|
529
526
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
530
|
-
const localId = rtpParameters.mid
|
|
527
|
+
const localId = rtpParameters.mid ?? String(this._mapMidTransceiver.size);
|
|
531
528
|
mapLocalId.set(trackId, localId);
|
|
532
529
|
this._remoteSdp.receive({
|
|
533
530
|
mid: localId,
|
|
534
531
|
kind,
|
|
535
532
|
offerRtpParameters: rtpParameters,
|
|
536
|
-
streamId: streamId
|
|
533
|
+
streamId: streamId ?? rtpParameters.rtcp.cname,
|
|
537
534
|
trackId,
|
|
538
535
|
});
|
|
539
536
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"AAOA,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;
|
|
1
|
+
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ const HandlerInterface_1 = require("./HandlerInterface");
|
|
|
35
35
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
36
36
|
const scalabilityModes_1 = require("../scalabilityModes");
|
|
37
37
|
const logger = new Logger_1.Logger('Firefox60');
|
|
38
|
+
const NAME = 'Firefox60';
|
|
38
39
|
const SCTP_NUM_STREAMS = { OS: 16, MIS: 2048 };
|
|
39
40
|
class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
40
41
|
/**
|
|
@@ -59,7 +60,7 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
59
60
|
this._transportReady = false;
|
|
60
61
|
}
|
|
61
62
|
get name() {
|
|
62
|
-
return
|
|
63
|
+
return NAME;
|
|
63
64
|
}
|
|
64
65
|
close() {
|
|
65
66
|
logger.debug('close()');
|
|
@@ -162,8 +163,8 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
162
163
|
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
|
|
163
164
|
};
|
|
164
165
|
this._pc = new RTCPeerConnection({
|
|
165
|
-
iceServers: iceServers
|
|
166
|
-
iceTransportPolicy: iceTransportPolicy
|
|
166
|
+
iceServers: iceServers ?? [],
|
|
167
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
167
168
|
bundlePolicy: 'max-bundle',
|
|
168
169
|
rtcpMuxPolicy: 'require',
|
|
169
170
|
...additionalSettings,
|
|
@@ -246,14 +247,12 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
246
247
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
247
248
|
if (encodings) {
|
|
248
249
|
encodings = utils.clone(encodings);
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
encodings.reverse();
|
|
256
|
-
}
|
|
250
|
+
encodings.forEach((encoding, idx) => {
|
|
251
|
+
encoding.rid = `r${idx}`;
|
|
252
|
+
});
|
|
253
|
+
// Clone the encodings and reverse them because Firefox likes them
|
|
254
|
+
// from high to low.
|
|
255
|
+
encodings.reverse();
|
|
257
256
|
}
|
|
258
257
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
259
258
|
// This may throw.
|
|
@@ -284,7 +283,7 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
284
283
|
if (!this._transportReady) {
|
|
285
284
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
286
285
|
}
|
|
287
|
-
const layers = (0, scalabilityModes_1.parse)((encodings
|
|
286
|
+
const layers = (0, scalabilityModes_1.parse)((encodings ?? [{}])[0].scalabilityMode);
|
|
288
287
|
logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
289
288
|
await this._pc.setLocalDescription(offer);
|
|
290
289
|
// We can now get the transceiver.mid.
|
|
@@ -359,7 +358,7 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
359
358
|
if (!transceiver) {
|
|
360
359
|
throw new Error('associated transceiver not found');
|
|
361
360
|
}
|
|
362
|
-
transceiver.sender.replaceTrack(null);
|
|
361
|
+
void transceiver.sender.replaceTrack(null);
|
|
363
362
|
// NOTE: Cannot use stop() the transceiver due to the the note above in
|
|
364
363
|
// send() method.
|
|
365
364
|
// try
|
|
@@ -381,7 +380,6 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
381
380
|
await this._pc.setRemoteDescription(answer);
|
|
382
381
|
this._mapMidTransceiver.delete(localId);
|
|
383
382
|
}
|
|
384
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
385
383
|
async pauseSending(localId) {
|
|
386
384
|
this.assertNotClosed();
|
|
387
385
|
this.assertSendDirection();
|
|
@@ -399,7 +397,6 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
399
397
|
logger.debug('pauseSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
400
398
|
await this._pc.setRemoteDescription(answer);
|
|
401
399
|
}
|
|
402
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
403
400
|
async resumeSending(localId) {
|
|
404
401
|
this.assertNotClosed();
|
|
405
402
|
this.assertSendDirection();
|
|
@@ -532,9 +529,7 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
532
529
|
};
|
|
533
530
|
return { dataChannel, sctpStreamParameters };
|
|
534
531
|
}
|
|
535
|
-
async receive(
|
|
536
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
537
|
-
optionsList) {
|
|
532
|
+
async receive(optionsList) {
|
|
538
533
|
this.assertNotClosed();
|
|
539
534
|
this.assertRecvDirection();
|
|
540
535
|
const results = [];
|
|
@@ -542,13 +537,13 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
542
537
|
for (const options of optionsList) {
|
|
543
538
|
const { trackId, kind, rtpParameters, streamId } = options;
|
|
544
539
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
545
|
-
const localId = rtpParameters.mid
|
|
540
|
+
const localId = rtpParameters.mid ?? String(this._mapMidTransceiver.size);
|
|
546
541
|
mapLocalId.set(trackId, localId);
|
|
547
542
|
this._remoteSdp.receive({
|
|
548
543
|
mid: localId,
|
|
549
544
|
kind,
|
|
550
545
|
offerRtpParameters: rtpParameters,
|
|
551
|
-
streamId: streamId
|
|
546
|
+
streamId: streamId ?? rtpParameters.rtcp.cname,
|
|
552
547
|
trackId,
|
|
553
548
|
});
|
|
554
549
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"AAOA,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;
|
|
1
|
+
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"AAOA,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;AAO3E,qBAAa,WAAY,SAAQ,gBAAgB;IAEhD,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,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAC1B;IAEX,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAMtB;IAEd,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;IAkBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAoCpD,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;IAgGrB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAI5C,IAAI,CAAC,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,KAAK,GACL,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgI5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CAEjB,OAAO,EAAE,MAAM,EAEf,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;IAIV,kBAAkB,CAEvB,OAAO,EAAE,MAAM,EAEf,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAKV,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxD,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;IAsG5B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChD,cAAc,CAEnB,QAAQ,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CAEpB,QAAQ,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAKV,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1D,kBAAkB,CAAC,EACxB,oBAAoB,EACpB,KAAK,EACL,QAAQ,GACR,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC;YA0DhE,cAAc;IAgC5B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;CAO3B"}
|
|
@@ -34,6 +34,7 @@ const sdpPlanBUtils = __importStar(require("./sdp/planBUtils"));
|
|
|
34
34
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
35
35
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
36
36
|
const logger = new Logger_1.Logger('ReactNative');
|
|
37
|
+
const NAME = 'ReactNative';
|
|
37
38
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
38
39
|
class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
39
40
|
/**
|
|
@@ -61,13 +62,13 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
61
62
|
this._transportReady = false;
|
|
62
63
|
}
|
|
63
64
|
get name() {
|
|
64
|
-
return
|
|
65
|
+
return NAME;
|
|
65
66
|
}
|
|
66
67
|
close() {
|
|
67
68
|
logger.debug('close()');
|
|
68
69
|
// Free/dispose native MediaStream but DO NOT free/dispose native
|
|
69
70
|
// MediaStreamTracks (that is parent's business).
|
|
70
|
-
// @ts-
|
|
71
|
+
// @ts-expect-error --- Proprietary API in react-native-webrtc.
|
|
71
72
|
this._sendStream.release(/* releaseTracks */ false);
|
|
72
73
|
// Close RTCPeerConnection.
|
|
73
74
|
if (this._pc) {
|
|
@@ -139,8 +140,8 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
139
140
|
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
140
141
|
}
|
|
141
142
|
this._pc = new RTCPeerConnection({
|
|
142
|
-
iceServers: iceServers
|
|
143
|
-
iceTransportPolicy: iceTransportPolicy
|
|
143
|
+
iceServers: iceServers ?? [],
|
|
144
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
144
145
|
bundlePolicy: 'max-bundle',
|
|
145
146
|
rtcpMuxPolicy: 'require',
|
|
146
147
|
sdpSemantics: 'plan-b',
|
|
@@ -409,7 +410,7 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
409
410
|
const { trackId, kind, rtpParameters } = options;
|
|
410
411
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
411
412
|
const mid = kind;
|
|
412
|
-
let streamId = options.streamId
|
|
413
|
+
let streamId = options.streamId ?? rtpParameters.rtcp.cname;
|
|
413
414
|
// NOTE: In React-Native we cannot reuse the same remote MediaStream for new
|
|
414
415
|
// remote tracks. This is because react-native-webrtc does not react on new
|
|
415
416
|
// tracks generated within already existing streams, so force the streamId
|
|
@@ -473,7 +474,7 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
473
474
|
this.assertRecvDirection();
|
|
474
475
|
for (const localId of localIds) {
|
|
475
476
|
logger.debug('stopReceiving() [localId:%s]', localId);
|
|
476
|
-
const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId)
|
|
477
|
+
const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId) ?? {};
|
|
477
478
|
// Remove from the map.
|
|
478
479
|
this._mapRecvLocalIdInfo.delete(localId);
|
|
479
480
|
this._remoteSdp.planBStopReceiving({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.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;
|
|
1
|
+
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ const HandlerInterface_1 = require("./HandlerInterface");
|
|
|
36
36
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
37
37
|
const scalabilityModes_1 = require("../scalabilityModes");
|
|
38
38
|
const logger = new Logger_1.Logger('ReactNativeUnifiedPlan');
|
|
39
|
+
const NAME = 'ReactNativeUnifiedPlan';
|
|
39
40
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
40
41
|
class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
41
42
|
/**
|
|
@@ -60,7 +61,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
60
61
|
this._transportReady = false;
|
|
61
62
|
}
|
|
62
63
|
get name() {
|
|
63
|
-
return
|
|
64
|
+
return NAME;
|
|
64
65
|
}
|
|
65
66
|
close() {
|
|
66
67
|
logger.debug('close()');
|
|
@@ -70,7 +71,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
70
71
|
this._closed = true;
|
|
71
72
|
// Free/dispose native MediaStream but DO NOT free/dispose native
|
|
72
73
|
// MediaStreamTracks (that is parent's business).
|
|
73
|
-
// @ts-
|
|
74
|
+
// @ts-expect-error --- Proprietary API in react-native-webrtc.
|
|
74
75
|
this._sendStream.release(/* releaseTracks */ false);
|
|
75
76
|
// Close RTCPeerConnection.
|
|
76
77
|
if (this._pc) {
|
|
@@ -143,8 +144,8 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
143
144
|
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
144
145
|
}
|
|
145
146
|
this._pc = new RTCPeerConnection({
|
|
146
|
-
iceServers: iceServers
|
|
147
|
-
iceTransportPolicy: iceTransportPolicy
|
|
147
|
+
iceServers: iceServers ?? [],
|
|
148
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
148
149
|
bundlePolicy: 'max-bundle',
|
|
149
150
|
rtcpMuxPolicy: 'require',
|
|
150
151
|
sdpSemantics: 'unified-plan',
|
|
@@ -258,7 +259,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
258
259
|
}
|
|
259
260
|
// Special case for VP9 with SVC.
|
|
260
261
|
let hackVp9Svc = false;
|
|
261
|
-
const layers = (0, scalabilityModes_1.parse)((encodings
|
|
262
|
+
const layers = (0, scalabilityModes_1.parse)((encodings ?? [{}])[0].scalabilityMode);
|
|
262
263
|
if (encodings &&
|
|
263
264
|
encodings.length === 1 &&
|
|
264
265
|
layers.spatialLayers > 1 &&
|
|
@@ -369,7 +370,7 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
369
370
|
if (!transceiver) {
|
|
370
371
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
371
372
|
}
|
|
372
|
-
transceiver.sender.replaceTrack(null);
|
|
373
|
+
void transceiver.sender.replaceTrack(null);
|
|
373
374
|
this._pc.removeTrack(transceiver.sender);
|
|
374
375
|
const mediaSectionClosed = this._remoteSdp.closeMediaSection(transceiver.mid);
|
|
375
376
|
if (mediaSectionClosed) {
|
|
@@ -543,13 +544,13 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
543
544
|
for (const options of optionsList) {
|
|
544
545
|
const { trackId, kind, rtpParameters, streamId } = options;
|
|
545
546
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
546
|
-
const localId = rtpParameters.mid
|
|
547
|
+
const localId = rtpParameters.mid ?? String(this._mapMidTransceiver.size);
|
|
547
548
|
mapLocalId.set(trackId, localId);
|
|
548
549
|
this._remoteSdp.receive({
|
|
549
550
|
mid: localId,
|
|
550
551
|
kind,
|
|
551
552
|
offerRtpParameters: rtpParameters,
|
|
552
|
-
streamId: streamId
|
|
553
|
+
streamId: streamId ?? rtpParameters.rtcp.cname,
|
|
553
554
|
trackId,
|
|
554
555
|
});
|
|
555
556
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Safari11.js
CHANGED
|
@@ -33,6 +33,7 @@ const sdpPlanBUtils = __importStar(require("./sdp/planBUtils"));
|
|
|
33
33
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
34
34
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
35
35
|
const logger = new Logger_1.Logger('Safari11');
|
|
36
|
+
const NAME = 'Safari11';
|
|
36
37
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
37
38
|
class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
38
39
|
/**
|
|
@@ -60,7 +61,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
60
61
|
this._transportReady = false;
|
|
61
62
|
}
|
|
62
63
|
get name() {
|
|
63
|
-
return
|
|
64
|
+
return NAME;
|
|
64
65
|
}
|
|
65
66
|
close() {
|
|
66
67
|
logger.debug('close()');
|
|
@@ -134,8 +135,8 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
134
135
|
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
135
136
|
}
|
|
136
137
|
this._pc = new RTCPeerConnection({
|
|
137
|
-
iceServers: iceServers
|
|
138
|
-
iceTransportPolicy: iceTransportPolicy
|
|
138
|
+
iceServers: iceServers ?? [],
|
|
139
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
139
140
|
bundlePolicy: 'max-bundle',
|
|
140
141
|
rtcpMuxPolicy: 'require',
|
|
141
142
|
...additionalSettings,
|
|
@@ -448,7 +449,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
448
449
|
mid,
|
|
449
450
|
kind,
|
|
450
451
|
offerRtpParameters: rtpParameters,
|
|
451
|
-
streamId: streamId
|
|
452
|
+
streamId: streamId ?? rtpParameters.rtcp.cname,
|
|
452
453
|
trackId,
|
|
453
454
|
});
|
|
454
455
|
}
|
|
@@ -505,7 +506,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
505
506
|
this.assertRecvDirection();
|
|
506
507
|
for (const localId of localIds) {
|
|
507
508
|
logger.debug('stopReceiving() [localId:%s]', localId);
|
|
508
|
-
const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId)
|
|
509
|
+
const { mid, rtpParameters } = this._mapRecvLocalIdInfo.get(localId) ?? {};
|
|
509
510
|
// Remove from the map.
|
|
510
511
|
this._mapRecvLocalIdInfo.delete(localId);
|
|
511
512
|
this._remoteSdp.planBStopReceiving({
|
|
@@ -522,7 +523,7 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
522
523
|
}
|
|
523
524
|
async getReceiverStats(localId) {
|
|
524
525
|
this.assertRecvDirection();
|
|
525
|
-
const { rtpReceiver } = this._mapRecvLocalIdInfo.get(localId)
|
|
526
|
+
const { rtpReceiver } = this._mapRecvLocalIdInfo.get(localId) ?? {};
|
|
526
527
|
if (!rtpReceiver) {
|
|
527
528
|
throw new Error('associated RTCRtpReceiver not found');
|
|
528
529
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Safari12.js
CHANGED
|
@@ -36,6 +36,7 @@ const HandlerInterface_1 = require("./HandlerInterface");
|
|
|
36
36
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
37
37
|
const scalabilityModes_1 = require("../scalabilityModes");
|
|
38
38
|
const logger = new Logger_1.Logger('Safari12');
|
|
39
|
+
const NAME = 'Safari12';
|
|
39
40
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
40
41
|
class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
41
42
|
/**
|
|
@@ -60,7 +61,7 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
60
61
|
this._transportReady = false;
|
|
61
62
|
}
|
|
62
63
|
get name() {
|
|
63
|
-
return
|
|
64
|
+
return NAME;
|
|
64
65
|
}
|
|
65
66
|
close() {
|
|
66
67
|
logger.debug('close()');
|
|
@@ -138,8 +139,8 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
138
139
|
dtlsParameters.role === 'server' ? 'client' : 'server';
|
|
139
140
|
}
|
|
140
141
|
this._pc = new RTCPeerConnection({
|
|
141
|
-
iceServers: iceServers
|
|
142
|
-
iceTransportPolicy: iceTransportPolicy
|
|
142
|
+
iceServers: iceServers ?? [],
|
|
143
|
+
iceTransportPolicy: iceTransportPolicy ?? 'all',
|
|
143
144
|
bundlePolicy: 'max-bundle',
|
|
144
145
|
rtcpMuxPolicy: 'require',
|
|
145
146
|
...additionalSettings,
|
|
@@ -244,7 +245,7 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
244
245
|
localSdpObject,
|
|
245
246
|
});
|
|
246
247
|
}
|
|
247
|
-
const layers = (0, scalabilityModes_1.parse)((encodings
|
|
248
|
+
const layers = (0, scalabilityModes_1.parse)((encodings ?? [{}])[0].scalabilityMode);
|
|
248
249
|
if (encodings && encodings.length > 1) {
|
|
249
250
|
logger.debug('send() | enabling legacy simulcast');
|
|
250
251
|
localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -321,7 +322,7 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
321
322
|
if (!transceiver) {
|
|
322
323
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
323
324
|
}
|
|
324
|
-
transceiver.sender.replaceTrack(null);
|
|
325
|
+
void transceiver.sender.replaceTrack(null);
|
|
325
326
|
this._pc.removeTrack(transceiver.sender);
|
|
326
327
|
const mediaSectionClosed = this._remoteSdp.closeMediaSection(transceiver.mid);
|
|
327
328
|
if (mediaSectionClosed) {
|
|
@@ -338,7 +339,6 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
338
339
|
await this._pc.setRemoteDescription(answer);
|
|
339
340
|
this._mapMidTransceiver.delete(localId);
|
|
340
341
|
}
|
|
341
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
342
342
|
async pauseSending(localId) {
|
|
343
343
|
this.assertNotClosed();
|
|
344
344
|
this.assertSendDirection();
|
|
@@ -356,7 +356,6 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
356
356
|
logger.debug('pauseSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
357
357
|
await this._pc.setRemoteDescription(answer);
|
|
358
358
|
}
|
|
359
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
360
359
|
async resumeSending(localId) {
|
|
361
360
|
this.assertNotClosed();
|
|
362
361
|
this.assertSendDirection();
|
|
@@ -497,13 +496,13 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
497
496
|
for (const options of optionsList) {
|
|
498
497
|
const { trackId, kind, rtpParameters, streamId } = options;
|
|
499
498
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
500
|
-
const localId = rtpParameters.mid
|
|
499
|
+
const localId = rtpParameters.mid ?? String(this._mapMidTransceiver.size);
|
|
501
500
|
mapLocalId.set(trackId, localId);
|
|
502
501
|
this._remoteSdp.receive({
|
|
503
502
|
mid: localId,
|
|
504
503
|
kind,
|
|
505
504
|
offerRtpParameters: rtpParameters,
|
|
506
|
-
streamId: streamId
|
|
505
|
+
streamId: streamId ?? rtpParameters.rtcp.cname,
|
|
507
506
|
trackId,
|
|
508
507
|
});
|
|
509
508
|
}
|
|
@@ -35,13 +35,13 @@ function getCapabilities() {
|
|
|
35
35
|
const caps = utils.clone(nativeCaps);
|
|
36
36
|
for (const codec of caps.codecs ?? []) {
|
|
37
37
|
// Rename numChannels to channels.
|
|
38
|
-
// @ts-
|
|
38
|
+
// @ts-expect-error --- On purpose.
|
|
39
39
|
codec.channels = codec.numChannels;
|
|
40
|
-
// @ts-
|
|
40
|
+
// @ts-expect-error --- On purpose.
|
|
41
41
|
delete codec.numChannels;
|
|
42
42
|
// Add mimeType.
|
|
43
|
-
// @ts-
|
|
44
|
-
codec.mimeType = codec.mimeType
|
|
43
|
+
// @ts-expect-error --- On purpose (due to codec.name).
|
|
44
|
+
codec.mimeType = codec.mimeType ?? `${codec.kind}/${codec.name}`;
|
|
45
45
|
// NOTE: Edge sets some numeric parameters as string rather than number. Fix them.
|
|
46
46
|
if (codec.parameters) {
|
|
47
47
|
const parameters = codec.parameters;
|
|
@@ -53,7 +53,7 @@ function getCapabilities() {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
// Delete emty parameter String in rtcpFeedback.
|
|
56
|
-
for (const feedback of codec.rtcpFeedback
|
|
56
|
+
for (const feedback of codec.rtcpFeedback ?? []) {
|
|
57
57
|
if (!feedback.parameter) {
|
|
58
58
|
feedback.parameter = '';
|
|
59
59
|
}
|
|
@@ -68,25 +68,25 @@ function mangleRtpParameters(rtpParameters) {
|
|
|
68
68
|
const params = utils.clone(rtpParameters);
|
|
69
69
|
// Rename mid to muxId.
|
|
70
70
|
if (params.mid) {
|
|
71
|
-
// @ts-
|
|
71
|
+
// @ts-expect-error --- On purpose (due to muxId).
|
|
72
72
|
params.muxId = params.mid;
|
|
73
73
|
delete params.mid;
|
|
74
74
|
}
|
|
75
75
|
for (const codec of params.codecs) {
|
|
76
76
|
// Rename channels to numChannels.
|
|
77
77
|
if (codec.channels) {
|
|
78
|
-
// @ts-
|
|
78
|
+
// @ts-expect-error --- On purpose.
|
|
79
79
|
codec.numChannels = codec.channels;
|
|
80
80
|
delete codec.channels;
|
|
81
81
|
}
|
|
82
82
|
// Add codec.name (requried by Edge).
|
|
83
|
-
// @ts-
|
|
83
|
+
// @ts-expect-error --- On purpose (due to name).
|
|
84
84
|
if (codec.mimeType && !codec.name) {
|
|
85
|
-
// @ts-
|
|
85
|
+
// @ts-expect-error --- On purpose (due to name).
|
|
86
86
|
codec.name = codec.mimeType.split('/')[1];
|
|
87
87
|
}
|
|
88
88
|
// Remove mimeType.
|
|
89
|
-
// @ts-
|
|
89
|
+
// @ts-expect-error --- On purpose.
|
|
90
90
|
delete codec.mimeType;
|
|
91
91
|
}
|
|
92
92
|
return params;
|
|
@@ -5,7 +5,7 @@ exports.addNackSuppportForOpus = addNackSuppportForOpus;
|
|
|
5
5
|
* This function adds RTCP NACK support for OPUS codec in given capabilities.
|
|
6
6
|
*/
|
|
7
7
|
function addNackSuppportForOpus(rtpCapabilities) {
|
|
8
|
-
for (const codec of rtpCapabilities.codecs
|
|
8
|
+
for (const codec of rtpCapabilities.codecs ?? []) {
|
|
9
9
|
if ((codec.mimeType.toLowerCase() === 'audio/opus' ||
|
|
10
10
|
codec.mimeType.toLowerCase() === 'audio/multiopus') &&
|
|
11
11
|
!codec.rtcpFeedback?.some(fb => fb.type === 'nack' && !fb.parameter)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,aAAa,EACb,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACN,SAAS,EACT,aAAa,EAIb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8BAAsB,YAAY;IAEjC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAErC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEvB,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAa,GACb,EAAE;QACF,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC;KACf;IA0CD,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE1C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,SAAS,IAAI,MAAM;IAInB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,IAAI,IAAI;IAYf,KAAK,IAAI,IAAI;CAKb;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACvC,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAwB,GACxB,EAAE;QACF,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QACxC,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,gBAAgB,EAAE,GAAG,CAAC;QACtB,kBAAkB,CAAC,EAAE,aAAa,CAAC;QACnC,mBAAmB,CAAC,EAAE,aAAa,CAAC;QACpC,YAAY,CAAC,EAAE,oBAAoB,CAAC;QACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC3B;
|
|
1
|
+
{"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"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"}
|