mediasoup-client 3.6.76 → 3.6.78
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/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +14 -0
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +22 -1
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +23 -1
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +14 -0
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +23 -1
- package/lib/handlers/sdp/MediaSection.d.ts +1 -0
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +24 -0
- package/lib/handlers/sdp/RemoteSdp.d.ts +1 -0
- package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
- package/lib/handlers/sdp/RemoteSdp.js +6 -5
- package/lib/handlers/sdp/types.d.ts +6 -0
- package/lib/handlers/sdp/types.d.ts.map +1 -0
- package/lib/handlers/sdp/types.js +2 -0
- package/lib/handlers/sdp/unifiedPlanUtils.js +4 -4
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.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;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;IAG7C,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;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAcP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAsCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IAiFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAwLvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome70.js
CHANGED
|
@@ -371,6 +371,13 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
371
371
|
encoding.active = false;
|
|
372
372
|
});
|
|
373
373
|
await transceiver.sender.setParameters(parameters);
|
|
374
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
375
|
+
const offer = await this._pc.createOffer();
|
|
376
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
377
|
+
await this._pc.setLocalDescription(offer);
|
|
378
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
379
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
380
|
+
await this._pc.setRemoteDescription(answer);
|
|
374
381
|
}
|
|
375
382
|
async setRtpEncodingParameters(localId, params) {
|
|
376
383
|
this.assertSendDirection();
|
|
@@ -383,6 +390,13 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
383
390
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
384
391
|
});
|
|
385
392
|
await transceiver.sender.setParameters(parameters);
|
|
393
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
394
|
+
const offer = await this._pc.createOffer();
|
|
395
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
396
|
+
await this._pc.setLocalDescription(offer);
|
|
397
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
398
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
399
|
+
await this._pc.setRemoteDescription(answer);
|
|
386
400
|
}
|
|
387
401
|
async getSenderStats(localId) {
|
|
388
402
|
this.assertSendDirection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.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;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;IAG7C,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;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAcP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAsCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IAiFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome74.js
CHANGED
|
@@ -282,7 +282,14 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
|
|
|
282
282
|
(sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/vp8' ||
|
|
283
283
|
sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/h264')) {
|
|
284
284
|
for (const encoding of sendingRtpParameters.encodings) {
|
|
285
|
-
encoding.scalabilityMode
|
|
285
|
+
if (encoding.scalabilityMode) {
|
|
286
|
+
encoding.scalabilityMode = `S1T${layers.temporalLayers}`;
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
// By default Chrome enables 2 temporal layers (not in all OS but
|
|
290
|
+
// anyway).
|
|
291
|
+
encoding.scalabilityMode = 'S1T2';
|
|
292
|
+
}
|
|
286
293
|
}
|
|
287
294
|
}
|
|
288
295
|
this._remoteSdp.send({
|
|
@@ -384,6 +391,13 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
|
|
|
384
391
|
encoding.active = false;
|
|
385
392
|
});
|
|
386
393
|
await transceiver.sender.setParameters(parameters);
|
|
394
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
395
|
+
const offer = await this._pc.createOffer();
|
|
396
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
397
|
+
await this._pc.setLocalDescription(offer);
|
|
398
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
399
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
400
|
+
await this._pc.setRemoteDescription(answer);
|
|
387
401
|
}
|
|
388
402
|
async setRtpEncodingParameters(localId, params) {
|
|
389
403
|
this.assertSendDirection();
|
|
@@ -396,6 +410,13 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
|
|
|
396
410
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
397
411
|
});
|
|
398
412
|
await transceiver.sender.setParameters(parameters);
|
|
413
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
414
|
+
const offer = await this._pc.createOffer();
|
|
415
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
416
|
+
await this._pc.setLocalDescription(offer);
|
|
417
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
418
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
419
|
+
await this._pc.setRemoteDescription(answer);
|
|
399
420
|
}
|
|
400
421
|
async getSenderStats(localId) {
|
|
401
422
|
this.assertSendDirection();
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ const sdpCommonUtils = __importStar(require("./sdp/commonUtils"));
|
|
|
33
33
|
const sdpUnifiedPlanUtils = __importStar(require("./sdp/unifiedPlanUtils"));
|
|
34
34
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
35
35
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
36
|
+
const scalabilityModes_1 = require("../scalabilityModes");
|
|
36
37
|
const logger = new Logger_1.Logger('Firefox60');
|
|
37
38
|
const SCTP_NUM_STREAMS = { OS: 16, MIS: 2048 };
|
|
38
39
|
class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
@@ -259,6 +260,7 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
259
260
|
// Firefox does not respect ICE-Lite.
|
|
260
261
|
if (!this._transportReady)
|
|
261
262
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
263
|
+
const layers = (0, scalabilityModes_1.parse)((encodings || [{}])[0].scalabilityMode);
|
|
262
264
|
logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
263
265
|
await this._pc.setLocalDescription(offer);
|
|
264
266
|
// We can now get the transceiver.mid.
|
|
@@ -293,7 +295,13 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
293
295
|
(sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/vp8' ||
|
|
294
296
|
sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/h264')) {
|
|
295
297
|
for (const encoding of sendingRtpParameters.encodings) {
|
|
296
|
-
encoding.scalabilityMode
|
|
298
|
+
if (encoding.scalabilityMode) {
|
|
299
|
+
encoding.scalabilityMode = `S1T${layers.temporalLayers}`;
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// By default Firefox enables 2 temporal layers.
|
|
303
|
+
encoding.scalabilityMode = 'S1T2';
|
|
304
|
+
}
|
|
297
305
|
}
|
|
298
306
|
}
|
|
299
307
|
this._remoteSdp.send({
|
|
@@ -403,6 +411,13 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
403
411
|
encoding.active = false;
|
|
404
412
|
});
|
|
405
413
|
await transceiver.sender.setParameters(parameters);
|
|
414
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
415
|
+
const offer = await this._pc.createOffer();
|
|
416
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
417
|
+
await this._pc.setLocalDescription(offer);
|
|
418
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
419
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
420
|
+
await this._pc.setRemoteDescription(answer);
|
|
406
421
|
}
|
|
407
422
|
async setRtpEncodingParameters(localId, params) {
|
|
408
423
|
this.assertSendDirection();
|
|
@@ -415,6 +430,13 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
415
430
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
416
431
|
});
|
|
417
432
|
await transceiver.sender.setParameters(parameters);
|
|
433
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
434
|
+
const offer = await this._pc.createOffer();
|
|
435
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
436
|
+
await this._pc.setLocalDescription(offer);
|
|
437
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
438
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
439
|
+
await this._pc.setRemoteDescription(answer);
|
|
418
440
|
}
|
|
419
441
|
async getSenderStats(localId) {
|
|
420
442
|
this.assertSendDirection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.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;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,sBAAuB,SAAQ,gBAAgB;IAG3D,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;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAmBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAsCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IAiFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAuKvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -388,6 +388,13 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
388
388
|
encoding.active = false;
|
|
389
389
|
});
|
|
390
390
|
await transceiver.sender.setParameters(parameters);
|
|
391
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
392
|
+
const offer = await this._pc.createOffer();
|
|
393
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
394
|
+
await this._pc.setLocalDescription(offer);
|
|
395
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
396
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
397
|
+
await this._pc.setRemoteDescription(answer);
|
|
391
398
|
}
|
|
392
399
|
async setRtpEncodingParameters(localId, params) {
|
|
393
400
|
this.assertSendDirection();
|
|
@@ -400,6 +407,13 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
400
407
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
401
408
|
});
|
|
402
409
|
await transceiver.sender.setParameters(parameters);
|
|
410
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
411
|
+
const offer = await this._pc.createOffer();
|
|
412
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
413
|
+
await this._pc.setLocalDescription(offer);
|
|
414
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
415
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
416
|
+
await this._pc.setRemoteDescription(answer);
|
|
403
417
|
}
|
|
404
418
|
async getSenderStats(localId) {
|
|
405
419
|
this.assertSendDirection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.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;
|
|
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
|
@@ -32,6 +32,7 @@ const sdpCommonUtils = __importStar(require("./sdp/commonUtils"));
|
|
|
32
32
|
const sdpUnifiedPlanUtils = __importStar(require("./sdp/unifiedPlanUtils"));
|
|
33
33
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
34
34
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
35
|
+
const scalabilityModes_1 = require("../scalabilityModes");
|
|
35
36
|
const logger = new Logger_1.Logger('Safari12');
|
|
36
37
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
37
38
|
class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
@@ -217,6 +218,7 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
217
218
|
localSdpObject
|
|
218
219
|
});
|
|
219
220
|
}
|
|
221
|
+
const layers = (0, scalabilityModes_1.parse)((encodings || [{}])[0].scalabilityMode);
|
|
220
222
|
if (encodings && encodings.length > 1) {
|
|
221
223
|
logger.debug('send() | enabling legacy simulcast');
|
|
222
224
|
localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -254,7 +256,13 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
254
256
|
(sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/vp8' ||
|
|
255
257
|
sendingRtpParameters.codecs[0].mimeType.toLowerCase() === 'video/h264')) {
|
|
256
258
|
for (const encoding of sendingRtpParameters.encodings) {
|
|
257
|
-
encoding.scalabilityMode
|
|
259
|
+
if (encoding.scalabilityMode) {
|
|
260
|
+
encoding.scalabilityMode = `S1T${layers.temporalLayers}`;
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
// By default Safari enables 3 temporal layers.
|
|
264
|
+
encoding.scalabilityMode = 'S1T3';
|
|
265
|
+
}
|
|
258
266
|
}
|
|
259
267
|
}
|
|
260
268
|
this._remoteSdp.send({
|
|
@@ -357,6 +365,13 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
357
365
|
encoding.active = false;
|
|
358
366
|
});
|
|
359
367
|
await transceiver.sender.setParameters(parameters);
|
|
368
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
369
|
+
const offer = await this._pc.createOffer();
|
|
370
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
371
|
+
await this._pc.setLocalDescription(offer);
|
|
372
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
373
|
+
logger.debug('setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
374
|
+
await this._pc.setRemoteDescription(answer);
|
|
360
375
|
}
|
|
361
376
|
async setRtpEncodingParameters(localId, params) {
|
|
362
377
|
this.assertSendDirection();
|
|
@@ -369,6 +384,13 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
369
384
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
370
385
|
});
|
|
371
386
|
await transceiver.sender.setParameters(parameters);
|
|
387
|
+
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
388
|
+
const offer = await this._pc.createOffer();
|
|
389
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
390
|
+
await this._pc.setLocalDescription(offer);
|
|
391
|
+
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
392
|
+
logger.debug('setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
393
|
+
await this._pc.setRemoteDescription(answer);
|
|
372
394
|
}
|
|
373
395
|
async getSenderStats(localId) {
|
|
374
396
|
this.assertSendDirection();
|
|
@@ -37,6 +37,7 @@ export declare class AnswerMediaSection extends MediaSection {
|
|
|
37
37
|
});
|
|
38
38
|
setDtlsRole(role: DtlsRole): void;
|
|
39
39
|
resume(): void;
|
|
40
|
+
muxSimulcastStreams(encodings: RTCRtpEncodingParameters[]): void;
|
|
40
41
|
}
|
|
41
42
|
export declare class OfferMediaSection extends MediaSection {
|
|
42
43
|
constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB, mid, kind, offerRtpParameters, streamId, trackId, oldDataChannelSpec }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.OfferMediaSection = exports.AnswerMediaSection = exports.MediaSection = void 0;
|
|
27
|
+
const sdpTransform = __importStar(require("sdp-transform"));
|
|
27
28
|
const utils = __importStar(require("../../utils"));
|
|
28
29
|
class MediaSection {
|
|
29
30
|
constructor({ iceParameters, iceCandidates, dtlsParameters, planB = false }) {
|
|
@@ -287,6 +288,29 @@ class AnswerMediaSection extends MediaSection {
|
|
|
287
288
|
resume() {
|
|
288
289
|
this._mediaObject.direction = 'recvonly';
|
|
289
290
|
}
|
|
291
|
+
muxSimulcastStreams(encodings) {
|
|
292
|
+
var _a;
|
|
293
|
+
if (!this._mediaObject.simulcast || !this._mediaObject.simulcast.list1) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
const layers = {};
|
|
297
|
+
for (const encoding of encodings) {
|
|
298
|
+
if (encoding.rid) {
|
|
299
|
+
layers[encoding.rid] = encoding;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
const raw = this._mediaObject.simulcast.list1;
|
|
303
|
+
// NOTE: Ignore bug in @types/sdp-transform.
|
|
304
|
+
// Ongoing PR: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/64119
|
|
305
|
+
// @ts-ignore
|
|
306
|
+
const simulcastStreams = sdpTransform.parseSimulcastStreamList(raw);
|
|
307
|
+
for (const simulcastStream of simulcastStreams) {
|
|
308
|
+
for (const simulcastFormat of simulcastStream) {
|
|
309
|
+
simulcastFormat.paused = !((_a = layers[simulcastFormat.scid]) === null || _a === void 0 ? void 0 : _a.active);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
this._mediaObject.simulcast.list1 = simulcastStreams.map((simulcastFormats) => simulcastFormats.map((f) => `${f.paused ? '~' : ''}${f.scid}`).join(',')).join(';');
|
|
313
|
+
}
|
|
290
314
|
}
|
|
291
315
|
exports.AnswerMediaSection = AnswerMediaSection;
|
|
292
316
|
class OfferMediaSection extends MediaSection {
|
|
@@ -55,6 +55,7 @@ export declare class RemoteSdp {
|
|
|
55
55
|
* transport, so instead closing it we just disable it.
|
|
56
56
|
*/
|
|
57
57
|
closeMediaSection(mid: string): boolean;
|
|
58
|
+
muxMediaSectionSimulcast(mid: string, encodings: RTCRtpEncodingParameters[]): void;
|
|
58
59
|
planBStopReceiving({ mid, offerRtpParameters }: {
|
|
59
60
|
mid: string;
|
|
60
61
|
offerRtpParameters: RtpParameters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,YAAY,EAGZ,MAAM,gBAAgB,CAAC;AACxB,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,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,qBAAa,SAAS;IAGrB,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IAEjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiB;IAElD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiB;IAElD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAqB;IAE1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;gBAGhC,EACC,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAa,EACb,EACD;QACC,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;KAChB;IAyDF,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAevD,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAYpC,sBAAsB,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAe5D,IAAI,CACH,EACC,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAwB,EACxB,EACD;QACC,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kBAAkB,EAAE,aAAa,CAAC;QAClC,mBAAmB,EAAE,aAAa,CAAC;QACnC,YAAY,CAAC,EAAE,oBAAoB,CAAC;QACpC,gBAAgB,CAAC,EAAG,OAAO,CAAC;KAC5B,GACC,IAAI;IAiCP,OAAO,CACN,EACC,GAAG,EACH,IAAI,EACJ,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,EACD;QACC,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,SAAS,CAAC;QAChB,kBAAkB,EAAE,aAAa,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,GACC,IAAI;IA+CP,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOpC,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO5C,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO9C,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOtC;;;;;;OAMG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAyBvC,kBAAkB,CACjB,EACC,GAAG,EACH,kBAAkB,EAClB,EACD;QACC,GAAG,EAAE,MAAM,CAAC;QACZ,kBAAkB,EAAE,aAAa,CAAC;KAClC,GACC,IAAI;
|
|
1
|
+
{"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,12 +200,13 @@ class RemoteSdp {
|
|
|
200
200
|
this._regenerateBundleMids();
|
|
201
201
|
return true;
|
|
202
202
|
}
|
|
203
|
+
muxMediaSectionSimulcast(mid, encodings) {
|
|
204
|
+
const mediaSection = this._findMediaSection(mid);
|
|
205
|
+
mediaSection.muxSimulcastStreams(encodings);
|
|
206
|
+
this._replaceMediaSection(mediaSection);
|
|
207
|
+
}
|
|
203
208
|
planBStopReceiving({ mid, offerRtpParameters }) {
|
|
204
|
-
const
|
|
205
|
-
if (idx === undefined) {
|
|
206
|
-
throw new Error(`no media section found with mid '${mid}'`);
|
|
207
|
-
}
|
|
208
|
-
const mediaSection = this._mediaSections[idx];
|
|
209
|
+
const mediaSection = this._findMediaSection(mid);
|
|
209
210
|
mediaSection.planBStopReceiving({ offerRtpParameters });
|
|
210
211
|
this._replaceMediaSection(mediaSection);
|
|
211
212
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;AAGhD,MAAM,MAAM,eAAe,GAC3B;IACC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC"}
|
|
@@ -18,16 +18,16 @@ function getRtpEncodings({ offerMediaObject }) {
|
|
|
18
18
|
ssrc = Number(ssrc);
|
|
19
19
|
rtxSsrc = Number(rtxSsrc);
|
|
20
20
|
if (ssrcs.has(ssrc)) {
|
|
21
|
-
// Remove both the SSRC and RTX SSRC from the set so later we know
|
|
22
|
-
// are already handled.
|
|
21
|
+
// Remove both the SSRC and RTX SSRC from the set so later we know
|
|
22
|
+
// that they are already handled.
|
|
23
23
|
ssrcs.delete(ssrc);
|
|
24
24
|
ssrcs.delete(rtxSsrc);
|
|
25
25
|
// Add to the map.
|
|
26
26
|
ssrcToRtxSsrc.set(ssrc, rtxSsrc);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
// If the set of SSRCs is not empty it means that RTX is not being used, so
|
|
30
|
-
// media SSRCs from there.
|
|
29
|
+
// If the set of SSRCs is not empty it means that RTX is not being used, so
|
|
30
|
+
// take media SSRCs from there.
|
|
31
31
|
for (const ssrc of ssrcs) {
|
|
32
32
|
// Add to the map.
|
|
33
33
|
ssrcToRtxSsrc.set(ssrc, null);
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup-client",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.78",
|
|
4
4
|
"description": "mediasoup client side JavaScript library",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
|
|
@@ -75,12 +75,12 @@
|
|
|
75
75
|
"@types/events": "^3.0.0",
|
|
76
76
|
"@types/jest": "^29.4.0",
|
|
77
77
|
"@types/sdp-transform": "^2.4.5",
|
|
78
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
79
|
-
"@typescript-eslint/parser": "^5.
|
|
80
|
-
"eslint": "^8.
|
|
78
|
+
"@typescript-eslint/eslint-plugin": "^5.52.0",
|
|
79
|
+
"@typescript-eslint/parser": "^5.52.0",
|
|
80
|
+
"eslint": "^8.34.0",
|
|
81
81
|
"eslint-plugin-jest": "^27.2.1",
|
|
82
82
|
"fake-mediastreamtrack": "^1.1.6",
|
|
83
|
-
"jest": "^29.4.
|
|
83
|
+
"jest": "^29.4.2",
|
|
84
84
|
"open-cli": "^7.1.0",
|
|
85
85
|
"ts-jest": "^29.0.5",
|
|
86
86
|
"tsc-watch": "^6.0.0",
|