mediasoup-client 3.7.5 → 3.7.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AAa/E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,kBAAkB,GAC3B,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,YAAY,GACZ,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,wBAAwB,GACxB,aAAa,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAkK7D;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC;CAC1B,CAAC;AAEF,qBAAa,MAAM;IAElB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,wBAAwB,CAAC,CAAM;IAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAE7C,SAAS,CAAC,QAAQ,CAAC,SAAS,6CACsB;IAElD;;;;OAIG;gBACS,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAE,aAAkB;IA0HxE;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,eAAe,CAMrC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,CAMvC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAEnC;IAED;;OAEG;IACG,IAAI,CAAC,EACV,qBAAqB,GACrB,EAAE;QACF,qBAAqB,EAAE,eAAe,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuFjB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAUpC;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,SAAS,OAAO,GAAG,OAAO,EAAE,EAC/D,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,GACP,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAkBnE;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,SAAS,OAAO,GAAG,OAAO,EAAE,EAC/D,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,GACP,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAkBnE,OAAO,CAAC,eAAe;CAsDvB"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AAa/E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,kBAAkB,GAC3B,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,YAAY,GACZ,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,wBAAwB,GACxB,aAAa,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAkK7D;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC;CAC1B,CAAC;AAEF,qBAAa,MAAM;IAElB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,wBAAwB,CAAC,CAAM;IAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAE7C,SAAS,CAAC,QAAQ,CAAC,SAAS,6CACsB;IAElD;;;;OAIG;gBACS,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAE,aAAkB;IA0HxE;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,eAAe,CAMrC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,CAMvC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAEnC;IAED;;OAEG;IACG,IAAI,CAAC,EACV,qBAAqB,GACrB,EAAE;QACF,qBAAqB,EAAE,eAAe,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+FjB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAUpC;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,SAAS,OAAO,GAAG,OAAO,EAAE,EAC/D,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,GACP,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAkBnE;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,SAAS,OAAO,GAAG,OAAO,EAAE,EAC/D,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,GACP,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAkBnE,OAAO,CAAC,eAAe;CAsDvB"}
package/lib/Device.js CHANGED
@@ -329,22 +329,25 @@ class Device {
329
329
  */
330
330
  async load({ routerRtpCapabilities, }) {
331
331
  logger.debug('load() [routerRtpCapabilities:%o]', routerRtpCapabilities);
332
- routerRtpCapabilities = utils.clone(routerRtpCapabilities);
333
332
  // Temporal handler to get its capabilities.
334
333
  let handler;
335
334
  try {
336
335
  if (this._loaded) {
337
336
  throw new errors_1.InvalidStateError('already loaded');
338
337
  }
338
+ // Clone given router RTP capabilities to not modify input data.
339
+ const clonedRouterRtpCapabilities = utils.clone(routerRtpCapabilities);
339
340
  // This may throw.
340
- ortc.validateRtpCapabilities(routerRtpCapabilities);
341
+ ortc.validateRtpCapabilities(clonedRouterRtpCapabilities);
341
342
  handler = this._handlerFactory();
342
343
  const nativeRtpCapabilities = await handler.getNativeRtpCapabilities();
343
344
  logger.debug('load() | got native RTP capabilities:%o', nativeRtpCapabilities);
345
+ // Clone obtained native RTP capabilities to not modify input data.
346
+ const clonedNativeRtpCapabilities = utils.clone(nativeRtpCapabilities);
344
347
  // This may throw.
345
- ortc.validateRtpCapabilities(nativeRtpCapabilities);
348
+ ortc.validateRtpCapabilities(clonedNativeRtpCapabilities);
346
349
  // Get extended RTP capabilities.
347
- this._extendedRtpCapabilities = ortc.getExtendedRtpCapabilities(nativeRtpCapabilities, routerRtpCapabilities);
350
+ this._extendedRtpCapabilities = ortc.getExtendedRtpCapabilities(clonedNativeRtpCapabilities, clonedRouterRtpCapabilities);
348
351
  logger.debug('load() | got extended RTP capabilities:%o', this._extendedRtpCapabilities);
349
352
  // Check whether we can produce audio/video.
350
353
  this._canProduceByKind.audio = ortc.canSend('audio', this._extendedRtpCapabilities);
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EACN,cAAc,EACd,gBAAgB,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,gBAAgB,CAAC,gBAAgB,SAAS,OAAO,GAAG,OAAO,IAAI;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B;;SAEK;IACL,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEb;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,oBAAoB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjE,MAAM,MAAM,eAAe,GACxB,KAAK,GACL,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,cAAc,GACd,QAAQ,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE;QACR;YAAE,cAAc,EAAE,cAAc,CAAA;SAAE;QAClC,MAAM,IAAI;QACV,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;KACtB,CAAC;IACF,uBAAuB,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC7C,qBAAqB,EAAE,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE;QACR;YACC,IAAI,EAAE,SAAS,CAAC;YAChB,aAAa,EAAE,aAAa,CAAC;YAC7B,OAAO,EAAE,OAAO,CAAC;SACjB;QACD,CAAC,EAAE,EAAE,EAAE,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI;QAChC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;KACtB,CAAC;IACF,WAAW,EAAE;QACZ;YACC,oBAAoB,EAAE,oBAAoB,CAAC;YAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,OAAO,CAAC;SACjB;QACD,CAAC,EAAE,EAAE,EAAE,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI;QAChC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;KACtB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,EAAE,CAAC;IACV,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxB,eAAe,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,eAAe,EAAE,CAAC,YAAY,CAAC,CAAC;CAChC,CAAC;AAiBF,qBAAa,SAAS,CACrB,gBAAgB,SAAS,OAAO,GAAG,OAAO,CACzC,SAAQ,oBAAoB,CAAC,eAAe,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE7C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAM;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAgB;IAErD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO,CAAC,QAAQ,CAAmB;IAEnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAE/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IAEvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;IAEvE,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,uBAAuB,CAAoC;IAEnE,OAAO,CAAC,yBAAyB,CAAS;IAE1C,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,wBAAwB,CAAS;IAEzC,SAAS,CAAC,QAAQ,CAAC,SAAS,gDACyB;gBAEzC,EACX,SAAS,EACT,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GAChB,EAAE;QACF,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;QAC3B,cAAc,EAAE,cAAc,CAAC;QAC/B,uBAAuB,EAAE,GAAG,CAAC;QAC7B,gBAAgB,EAAE,gBAAgB,CAAC;KACnC,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;IA0CtC;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,MAAM,CAE/B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,iBAAiB,CAEzC;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,eAAe,CAErC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAEpC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAEnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IA+Cb;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAQzC;;OAEG;IACG,UAAU,CAAC,EAChB,aAAa,GACb,EAAE;QACF,aAAa,EAAE,aAAa,CAAC;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjB;;OAEG;IACG,gBAAgB,CAAC,EACtB,UAAU,GACV,GAAE;QAAE,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvD;;OAEG;IACG,OAAO,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,EAAE,EACxD,KAAK,EACL,SAAS,EACT,YAAY,EACZ,KAAK,EACL,UAAiB,EACjB,mBAA0B,EAC1B,cAAsB,EACtB,OAA+B,GAC/B,GAAE,eAAe,CAAC,eAAe,CAAM,GAAG,OAAO,CACjD,QAAQ,CAAC,eAAe,CAAC,CACzB;IAyID;;OAEG;IACG,OAAO,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,EAAE,EACxD,EAAE,EACF,UAAU,EACV,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAA+B,GAC/B,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IA4DxE;;OAEG;IACG,WAAW,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,EAAE,EAChE,OAAc,EACd,iBAAiB,EACjB,cAAc,EACd,KAAU,EACV,QAAa,EACb,OAAmC,GACnC,GAAE,mBAAmB,CAAC,mBAAmB,CAAM,GAAG,OAAO,CACzD,YAAY,CAAC,mBAAmB,CAAC,CACjC;IAqED;;OAEG;IACG,WAAW,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,EAAE,EAC5D,EAAE,EACF,cAAc,EACd,oBAAoB,EACpB,KAAU,EACV,QAAa,EACb,OAA+B,GAC/B,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,OAAO,CAChD,YAAY,CAAC,eAAe,CAAC,CAC7B;YAsDa,sBAAsB;IAwHpC,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,sBAAsB;IA6C9B,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,cAAc;IAwFtB,OAAO,CAAC,cAAc;IAyEtB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;CAK1B"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
package/lib/Transport.js CHANGED
@@ -96,12 +96,12 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
96
96
  ? sctpParameters.maxMessageSize
97
97
  : null;
98
98
  // Clone and sanitize additionalSettings.
99
- additionalSettings = utils.clone(additionalSettings) || {};
100
- delete additionalSettings.iceServers;
101
- delete additionalSettings.iceTransportPolicy;
102
- delete additionalSettings.bundlePolicy;
103
- delete additionalSettings.rtcpMuxPolicy;
104
- delete additionalSettings.sdpSemantics;
99
+ const clonedAdditionalSettings = utils.clone(additionalSettings) || {};
100
+ delete clonedAdditionalSettings.iceServers;
101
+ delete clonedAdditionalSettings.iceTransportPolicy;
102
+ delete clonedAdditionalSettings.bundlePolicy;
103
+ delete clonedAdditionalSettings.rtcpMuxPolicy;
104
+ delete clonedAdditionalSettings.sdpSemantics;
105
105
  this._handler = handlerFactory();
106
106
  this._handler.run({
107
107
  direction,
@@ -111,7 +111,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
111
111
  sctpParameters,
112
112
  iceServers,
113
113
  iceTransportPolicy,
114
- additionalSettings,
114
+ additionalSettings: clonedAdditionalSettings,
115
115
  proprietaryConstraints,
116
116
  extendedRtpCapabilities,
117
117
  });
@@ -376,7 +376,6 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
376
376
  */
377
377
  async consume({ id, producerId, kind, rtpParameters, streamId, appData = {}, }) {
378
378
  logger.debug('consume()');
379
- rtpParameters = utils.clone(rtpParameters);
380
379
  if (this._closed) {
381
380
  throw new errors_1.InvalidStateError('closed');
382
381
  }
@@ -399,8 +398,10 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
399
398
  else if (appData && typeof appData !== 'object') {
400
399
  throw new TypeError('if given, appData must be an object');
401
400
  }
401
+ // Clone given RTP parameters to not modify input data.
402
+ const clonedRtpParameters = utils.clone(rtpParameters);
402
403
  // Ensure the device can consume it.
403
- const canConsume = ortc.canReceive(rtpParameters, this._extendedRtpCapabilities);
404
+ const canConsume = ortc.canReceive(clonedRtpParameters, this._extendedRtpCapabilities);
404
405
  if (!canConsume) {
405
406
  throw new errors_1.UnsupportedError('cannot consume this Producer');
406
407
  }
@@ -408,7 +409,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
408
409
  id,
409
410
  producerId,
410
411
  kind,
411
- rtpParameters,
412
+ rtpParameters: clonedRtpParameters,
412
413
  streamId,
413
414
  appData,
414
415
  });
@@ -489,7 +490,6 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
489
490
  */
490
491
  async consumeData({ id, dataProducerId, sctpStreamParameters, label = '', protocol = '', appData = {}, }) {
491
492
  logger.debug('consumeData()');
492
- sctpStreamParameters = utils.clone(sctpStreamParameters);
493
493
  if (this._closed) {
494
494
  throw new errors_1.InvalidStateError('closed');
495
495
  }
@@ -512,12 +512,14 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
512
512
  else if (appData && typeof appData !== 'object') {
513
513
  throw new TypeError('if given, appData must be an object');
514
514
  }
515
+ // Clone given SCTP stream parameters to not modify input data.
516
+ const clonedSctpStreamParameters = utils.clone(sctpStreamParameters);
515
517
  // This may throw.
516
- ortc.validateSctpStreamParameters(sctpStreamParameters);
518
+ ortc.validateSctpStreamParameters(clonedSctpStreamParameters);
517
519
  // Enqueue command.
518
520
  return this._awaitQueue.push(async () => {
519
521
  const { dataChannel } = await this._handler.receiveDataChannel({
520
- sctpStreamParameters,
522
+ sctpStreamParameters: clonedSctpStreamParameters,
521
523
  label,
522
524
  protocol,
523
525
  });
@@ -525,7 +527,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
525
527
  id,
526
528
  dataProducerId,
527
529
  dataChannel,
528
- sctpStreamParameters,
530
+ sctpStreamParameters: clonedSctpStreamParameters,
529
531
  appData,
530
532
  });
531
533
  this._dataConsumers.set(dataConsumer.id, dataConsumer);
package/lib/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { types };
8
8
  /**
9
9
  * Expose mediasoup-client version.
10
10
  */
11
- export declare const version = "3.7.5";
11
+ export declare const version = "3.7.7";
12
12
  /**
13
13
  * Expose Device class and detectDevice() helper.
14
14
  */
package/lib/index.js CHANGED
@@ -37,7 +37,7 @@ exports.types = types;
37
37
  /**
38
38
  * Expose mediasoup-client version.
39
39
  */
40
- exports.version = '3.7.5';
40
+ exports.version = '3.7.7';
41
41
  /**
42
42
  * Expose parseScalabilityMode() function.
43
43
  */
package/lib/ortc.js CHANGED
@@ -467,7 +467,7 @@ function reduceCodecs(codecs, capCodec) {
467
467
  // Otherwise look for a compatible set of codecs.
468
468
  else {
469
469
  for (let idx = 0; idx < codecs.length; ++idx) {
470
- if (matchCodecs(codecs[idx], capCodec)) {
470
+ if (matchCodecs(codecs[idx], capCodec, { strict: true })) {
471
471
  filteredCodecs.push(codecs[idx]);
472
472
  if (isRtxCodec(codecs[idx + 1])) {
473
473
  filteredCodecs.push(codecs[idx + 1]);
@@ -1 +1 @@
1
- {"version":3,"file":"fakeParameters.d.ts","sourceRoot":"","sources":["../../src/test/fakeParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,KAAK,CAAC;AAOvC,wBAAgB,6BAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,CAoKrF;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,CAoHrF;AAED,wBAAgB,8BAA8B,IAAI,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAIvF;AAED,wBAAgB,2BAA2B,IAAI,eAAe,CAAC,KAAK,CAAC,cAAc,CAWlF;AAED,wBAAgB,iCAAiC,IAAI,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAyD1F;AAED,wBAAgB,gCAAgC,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAIjE;AAED,wBAAgB,gCAAgC,CAAC,EAChD,EAAE,EACF,aAAa,GACb,GAAE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CA6O7C;AAED,wBAAgB,oCAAoC,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAIrE;AAED,wBAAgB,oCAAoC,CAAC,EACpD,EAAE,GACF,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAUlE"}
1
+ {"version":3,"file":"fakeParameters.d.ts","sourceRoot":"","sources":["../../src/test/fakeParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,KAAK,CAAC;AAOvC,wBAAgB,6BAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,CAoKrF;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,CAoHrF;AAED,wBAAgB,8BAA8B,IAAI,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAIvF;AAED,wBAAgB,2BAA2B,IAAI,eAAe,CAAC,KAAK,CAAC,cAAc,CAWlF;AAED,wBAAgB,iCAAiC,IAAI,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAyD1F;AAED,wBAAgB,gCAAgC,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAIjE;AAED,wBAAgB,gCAAgC,CAAC,EAChD,EAAE,EACF,aAAa,GACb,GAAE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CA6O7C;AAED,wBAAgB,oCAAoC,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAIrE;AAED,wBAAgB,oCAAoC,CAAC,EACpD,EAAE,GACF,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAWlE"}
@@ -29,7 +29,7 @@ function generateFakeUuid() {
29
29
  return String(utils.generateRandomNumber());
30
30
  }
31
31
  function generateRouterRtpCapabilities() {
32
- return {
32
+ return utils.deepFreeze({
33
33
  codecs: [
34
34
  {
35
35
  mimeType: 'audio/opus',
@@ -191,11 +191,11 @@ function generateRouterRtpCapabilities() {
191
191
  direction: 'sendrecv',
192
192
  },
193
193
  ],
194
- };
194
+ });
195
195
  }
196
196
  exports.generateRouterRtpCapabilities = generateRouterRtpCapabilities;
197
197
  function generateNativeRtpCapabilities() {
198
- return {
198
+ return utils.deepFreeze({
199
199
  codecs: [
200
200
  {
201
201
  mimeType: 'audio/opus',
@@ -309,17 +309,17 @@ function generateNativeRtpCapabilities() {
309
309
  preferredId: 10,
310
310
  },
311
311
  ],
312
- };
312
+ });
313
313
  }
314
314
  exports.generateNativeRtpCapabilities = generateNativeRtpCapabilities;
315
315
  function generateNativeSctpCapabilities() {
316
- return {
316
+ return utils.deepFreeze({
317
317
  numStreams: { OS: 2048, MIS: 2048 },
318
- };
318
+ });
319
319
  }
320
320
  exports.generateNativeSctpCapabilities = generateNativeSctpCapabilities;
321
321
  function generateLocalDtlsParameters() {
322
- return {
322
+ return utils.deepFreeze({
323
323
  fingerprints: [
324
324
  {
325
325
  algorithm: 'sha-256',
@@ -327,18 +327,18 @@ function generateLocalDtlsParameters() {
327
327
  },
328
328
  ],
329
329
  role: 'auto',
330
- };
330
+ });
331
331
  }
332
332
  exports.generateLocalDtlsParameters = generateLocalDtlsParameters;
333
333
  function generateTransportRemoteParameters() {
334
334
  return {
335
335
  id: generateFakeUuid(),
336
- iceParameters: {
336
+ iceParameters: utils.deepFreeze({
337
337
  iceLite: true,
338
338
  password: 'yku5ej8nvfaor28lvtrabcx0wkrpkztz',
339
339
  usernameFragment: 'h3hk1iz6qqlnqlne',
340
- },
341
- iceCandidates: [
340
+ }),
341
+ iceCandidates: utils.deepFreeze([
342
342
  {
343
343
  foundation: 'udpcandidate',
344
344
  address: '9.9.9.9',
@@ -359,8 +359,8 @@ function generateTransportRemoteParameters() {
359
359
  type: 'host',
360
360
  tcpType: 'passive',
361
361
  },
362
- ],
363
- dtlsParameters: {
362
+ ]),
363
+ dtlsParameters: utils.deepFreeze({
364
364
  fingerprints: [
365
365
  {
366
366
  algorithm: 'sha-256',
@@ -376,20 +376,20 @@ function generateTransportRemoteParameters() {
376
376
  },
377
377
  ],
378
378
  role: 'auto',
379
- },
380
- sctpParameters: {
379
+ }),
380
+ sctpParameters: utils.deepFreeze({
381
381
  port: 5000,
382
382
  OS: 2048,
383
383
  MIS: 2048,
384
384
  maxMessageSize: 2000000,
385
- },
385
+ }),
386
386
  };
387
387
  }
388
388
  exports.generateTransportRemoteParameters = generateTransportRemoteParameters;
389
389
  function generateProducerRemoteParameters() {
390
- return {
390
+ return utils.deepFreeze({
391
391
  id: generateFakeUuid(),
392
- };
392
+ });
393
393
  }
394
394
  exports.generateProducerRemoteParameters = generateProducerRemoteParameters;
395
395
  function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
@@ -399,7 +399,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
399
399
  id: id || generateFakeUuid(),
400
400
  producerId: generateFakeUuid(),
401
401
  kind: 'audio',
402
- rtpParameters: {
402
+ rtpParameters: utils.deepFreeze({
403
403
  codecs: [
404
404
  {
405
405
  mimeType: 'audio/opus',
@@ -437,7 +437,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
437
437
  reducedSize: true,
438
438
  mux: true,
439
439
  },
440
- },
440
+ }),
441
441
  };
442
442
  }
443
443
  case 'audio/ISAC': {
@@ -445,7 +445,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
445
445
  id: id || generateFakeUuid(),
446
446
  producerId: generateFakeUuid(),
447
447
  kind: 'audio',
448
- rtpParameters: {
448
+ rtpParameters: utils.deepFreeze({
449
449
  codecs: [
450
450
  {
451
451
  mimeType: 'audio/ISAC',
@@ -476,7 +476,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
476
476
  reducedSize: true,
477
477
  mux: true,
478
478
  },
479
- },
479
+ }),
480
480
  };
481
481
  }
482
482
  case 'video/VP8': {
@@ -484,7 +484,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
484
484
  id: id || generateFakeUuid(),
485
485
  producerId: generateFakeUuid(),
486
486
  kind: 'video',
487
- rtpParameters: {
487
+ rtpParameters: utils.deepFreeze({
488
488
  codecs: [
489
489
  {
490
490
  mimeType: 'video/VP8',
@@ -546,7 +546,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
546
546
  reducedSize: true,
547
547
  mux: true,
548
548
  },
549
- },
549
+ }),
550
550
  };
551
551
  }
552
552
  case 'video/H264': {
@@ -554,7 +554,7 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
554
554
  id: id || generateFakeUuid(),
555
555
  producerId: generateFakeUuid(),
556
556
  kind: 'video',
557
- rtpParameters: {
557
+ rtpParameters: utils.deepFreeze({
558
558
  codecs: [
559
559
  {
560
560
  mimeType: 'video/H264',
@@ -618,30 +618,30 @@ function generateConsumerRemoteParameters({ id, codecMimeType, } = {}) {
618
618
  reducedSize: true,
619
619
  mux: true,
620
620
  },
621
- },
621
+ }),
622
622
  };
623
623
  }
624
624
  default: {
625
- throw new TypeError(`unknown codecMimeType "${codecMimeType}"`);
625
+ throw new TypeError(`unknown codecMimeType '${codecMimeType}'`);
626
626
  }
627
627
  }
628
628
  }
629
629
  exports.generateConsumerRemoteParameters = generateConsumerRemoteParameters;
630
630
  function generateDataProducerRemoteParameters() {
631
- return {
631
+ return utils.deepFreeze({
632
632
  id: generateFakeUuid(),
633
- };
633
+ });
634
634
  }
635
635
  exports.generateDataProducerRemoteParameters = generateDataProducerRemoteParameters;
636
636
  function generateDataConsumerRemoteParameters({ id, } = {}) {
637
637
  return {
638
638
  id: id || generateFakeUuid(),
639
639
  dataProducerId: generateFakeUuid(),
640
- sctpStreamParameters: {
640
+ sctpStreamParameters: utils.deepFreeze({
641
641
  streamId: 666,
642
642
  maxPacketLifeTime: 5000,
643
643
  maxRetransmits: undefined,
644
- },
644
+ }),
645
645
  };
646
646
  }
647
647
  exports.generateDataConsumerRemoteParameters = generateDataConsumerRemoteParameters;
package/lib/utils.d.ts CHANGED
@@ -6,4 +6,9 @@ export declare function clone<T>(value: T): T;
6
6
  * Generates a random positive integer.
7
7
  */
8
8
  export declare function generateRandomNumber(): number;
9
+ /**
10
+ * Make an object or array recursively immutable.
11
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze.
12
+ */
13
+ export declare function deepFreeze<T>(object: T): T;
9
14
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAWpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAWpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAc1C"}
package/lib/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateRandomNumber = exports.clone = void 0;
3
+ exports.deepFreeze = exports.generateRandomNumber = exports.clone = void 0;
4
4
  /**
5
5
  * Clones the given value.
6
6
  */
@@ -27,3 +27,20 @@ function generateRandomNumber() {
27
27
  return Math.round(Math.random() * 10000000);
28
28
  }
29
29
  exports.generateRandomNumber = generateRandomNumber;
30
+ /**
31
+ * Make an object or array recursively immutable.
32
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze.
33
+ */
34
+ function deepFreeze(object) {
35
+ // Retrieve the property names defined on object.
36
+ const propNames = Reflect.ownKeys(object);
37
+ // Freeze properties before freezing self.
38
+ for (const name of propNames) {
39
+ const value = object[name];
40
+ if ((value && typeof value === 'object') || typeof value === 'function') {
41
+ deepFreeze(value);
42
+ }
43
+ }
44
+ return Object.freeze(object);
45
+ }
46
+ exports.deepFreeze = deepFreeze;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup-client",
3
- "version": "3.7.5",
3
+ "version": "3.7.7",
4
4
  "description": "mediasoup client side TypeScript library",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -80,16 +80,16 @@
80
80
  "@types/jest": "^29.5.12",
81
81
  "@types/sdp-transform": "^2.4.9",
82
82
  "@types/ua-parser-js": "^0.7.39",
83
- "@typescript-eslint/eslint-plugin": "^7.1.0",
84
- "@typescript-eslint/parser": "^7.1.0",
83
+ "@typescript-eslint/eslint-plugin": "^7.7.0",
84
+ "@typescript-eslint/parser": "^7.7.0",
85
85
  "eslint": "^8.57.0",
86
86
  "eslint-config-prettier": "^9.1.0",
87
- "eslint-plugin-jest": "^27.9.0",
87
+ "eslint-plugin-jest": "^28.2.0",
88
88
  "eslint-plugin-prettier": "^5.1.3",
89
89
  "jest": "^29.7.0",
90
90
  "open-cli": "^8.0.0",
91
91
  "prettier": "^3.2.5",
92
92
  "ts-jest": "^29.1.2",
93
- "typescript": "^5.3.3"
93
+ "typescript": "^5.4.5"
94
94
  }
95
95
  }