mediasoup-client 3.18.2 → 3.18.4

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":"utils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,2BAA2B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE;IAChB,GAAG,EAAE,qBAAqB,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,2BAA2B,CAAC;CACvC,GACC,IAAI,CAmCN;AAED,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAgBA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,2BAA2B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE;IAChB,GAAG,EAAE,qBAAqB,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,2BAA2B,CAAC;CACvC,GACC,IAAI,CA6CN;AAED,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAgBA"}
@@ -22,18 +22,30 @@ function addNackSupportForOpus(rtpCapabilities) {
22
22
  * This function adds the given RTP header extension to given capabilities.
23
23
  */
24
24
  function addHeaderExtensionSupport(rtpCapabilities, headerExtension) {
25
- if (rtpCapabilities.headerExtensions?.some(exten => exten.kind === headerExtension.kind && exten.uri === headerExtension.uri)) {
26
- return;
25
+ let preferredId;
26
+ // Look for an already existing header extension with same `uri`. Don't
27
+ // try to match `kind` since all media sections in a Bundle SDP must share
28
+ // same `id` in extensions with same `uri` (as per spec). So if we are
29
+ // adding an audio extension and there is already a video extension with
30
+ // same `uri`, then reuse its preferred `id`.
31
+ const existingHeaderExtension = rtpCapabilities.headerExtensions?.find(exten => exten.uri === headerExtension.uri);
32
+ if (existingHeaderExtension) {
33
+ if (existingHeaderExtension.kind === headerExtension.kind) {
34
+ return;
35
+ }
36
+ else {
37
+ preferredId = existingHeaderExtension.preferredId;
38
+ }
27
39
  }
28
40
  if (!rtpCapabilities.headerExtensions) {
29
41
  rtpCapabilities.headerExtensions = [];
30
42
  }
31
- const setPreferredIds = new Set(rtpCapabilities.headerExtensions
32
- .filter(exten => exten.uri !== headerExtension.uri)
33
- .map(exten => exten.preferredId));
34
- let preferredId = 1;
35
- while (setPreferredIds.has(preferredId)) {
36
- ++preferredId;
43
+ if (preferredId === undefined) {
44
+ preferredId = 1;
45
+ const setPreferredIds = new Set(rtpCapabilities.headerExtensions.map(exten => exten.preferredId));
46
+ while (setPreferredIds.has(preferredId)) {
47
+ ++preferredId;
48
+ }
37
49
  }
38
50
  const newHeaderExtension = {
39
51
  kind: headerExtension.kind,
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,YAAY,MAAM,eAAe,CAAC;AAOnD,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,qBAAa,SAAS;IAErB,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,cAAc,CAAsB;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;gBAEjD,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,GAClB,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;KACxC;IAqDD,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAWvD,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAUpC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAMlC,sBAAsB,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAc5D,IAAI,CAAC,EACJ,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACZ,EAAE;QACF,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kBAAkB,EAAE,aAAa,CAAC;QAClC,mBAAmB,EAAE,aAAa,CAAC;QACnC,YAAY,CAAC,EAAE,oBAAoB,CAAC;KACpC,GAAG,IAAI;IA0CR,OAAO,CAAC,EACP,GAAG,EACH,IAAI,EACJ,kBAAkB,EAClB,QAAQ,EACR,OAAO,GACP,EAAE;QACF,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,GAAG,IAAI;IA4BR,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMpC,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM5C,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM9C,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMtC;;;;;;OAMG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwBvC,wBAAwB,CACvB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,wBAAwB,EAAE,GACnC,IAAI;IAQP,mBAAmB,CAAC,EACnB,gBAAgB,GAChB,EAAE;QACF,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC;KAChD,GAAG,IAAI;IAaR,sBAAsB,IAAI,IAAI;IAc9B,MAAM,IAAI,MAAM;IAOhB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,oBAAoB;CAU5B"}
1
+ {"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ exports.RemoteSdp = void 0;
4
4
  const sdpTransform = require("sdp-transform");
5
5
  const Logger_1 = require("../../Logger");
6
6
  const MediaSection_1 = require("./MediaSection");
7
- const DD_CODECS = ['av1', 'h264'];
7
+ const __1 = require("../../");
8
+ const DependencyDescriptorCodecs = ['av1', 'h264'];
8
9
  const logger = new Logger_1.Logger('RemoteSdp');
9
10
  class RemoteSdp {
10
11
  // Remote ICE parameters.
@@ -39,7 +40,7 @@ class RemoteSdp {
39
40
  netType: 'IN',
40
41
  sessionId: '10000',
41
42
  sessionVersion: 0,
42
- username: 'mediasoup-client',
43
+ username: `mediasoup-client-v${__1.version}`,
43
44
  },
44
45
  name: '-',
45
46
  timing: { start: 0, stop: 0 },
@@ -117,7 +118,7 @@ class RemoteSdp {
117
118
  const mediaObject = mediaSection.getObject();
118
119
  // Remove Dependency Descriptor extension unless there is support for
119
120
  // the codec in mediasoup.
120
- const ddCodec = mediaObject.rtp.find(rtp => DD_CODECS.includes(rtp.codec.toLowerCase()));
121
+ const ddCodec = mediaObject.rtp.find(rtp => DependencyDescriptorCodecs.includes(rtp.codec.toLowerCase()));
121
122
  if (!ddCodec) {
122
123
  mediaObject.ext = mediaObject.ext?.filter(extmap => extmap.uri !==
123
124
  'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension');
package/lib/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export * as types from './types';
6
6
  /**
7
7
  * Expose mediasoup-client version.
8
8
  */
9
- export declare const version = "3.18.2";
9
+ export declare const version = "3.18.4";
10
10
  /**
11
11
  * Expose Device class and device detector helpers.
12
12
  */
package/lib/index.js CHANGED
@@ -10,7 +10,7 @@ exports.types = require("./types");
10
10
  /**
11
11
  * Expose mediasoup-client version.
12
12
  */
13
- exports.version = '3.18.2';
13
+ exports.version = '3.18.4';
14
14
  /**
15
15
  * Expose Device class and device detector helpers.
16
16
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup-client",
3
- "version": "3.18.2",
3
+ "version": "3.18.4",
4
4
  "description": "mediasoup client side TypeScript library",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -77,26 +77,26 @@
77
77
  "debug": "^4.4.3",
78
78
  "events-alias": "npm:events@^3.3.0",
79
79
  "fake-mediastreamtrack": "^2.2.1",
80
- "h264-profile-level-id": "^2.3.1",
80
+ "h264-profile-level-id": "^2.3.2",
81
81
  "sdp-transform": "^3.0.0",
82
82
  "supports-color": "^10.2.2"
83
83
  },
84
84
  "devDependencies": {
85
- "@eslint/js": "^9.39.1",
85
+ "@eslint/js": "^9.39.2",
86
86
  "@types/jest": "^30.0.0",
87
87
  "@types/node": "^24.10.2",
88
88
  "@types/sdp-transform": "^2.15.0",
89
89
  "@types/ua-parser-js": "^0.7.39",
90
- "eslint": "^9.39.1",
90
+ "eslint": "^9.39.2",
91
91
  "eslint-config-prettier": "^10.1.8",
92
- "eslint-plugin-jest": "^29.2.1",
93
- "eslint-plugin-prettier": "^5.5.4",
94
- "globals": "^16.5.0",
92
+ "eslint-plugin-jest": "^29.12.1",
93
+ "eslint-plugin-prettier": "^5.5.5",
94
+ "globals": "^17.2.0",
95
95
  "jest": "^30.2.0",
96
96
  "open-cli": "^8.0.0",
97
- "prettier": "^3.7.4",
97
+ "prettier": "^3.8.1",
98
98
  "ts-jest": "^29.4.6",
99
99
  "typescript": "^5.9.3",
100
- "typescript-eslint": "^8.49.0"
100
+ "typescript-eslint": "^8.54.0"
101
101
  }
102
102
  }