mediasoup-client 3.18.1 → 3.18.3
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/Chrome111.js +1 -1
- package/lib/handlers/ortc/utils.d.ts.map +1 -1
- package/lib/handlers/ortc/utils.js +20 -8
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +15 -5
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/npm-scripts.mjs +2 -2
- package/package.json +6 -6
|
@@ -256,7 +256,7 @@ class Chrome111 extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
256
256
|
localSdpObject,
|
|
257
257
|
});
|
|
258
258
|
}
|
|
259
|
-
// Optimize. Only generate new offer if needed.
|
|
259
|
+
// Optimize. Only generate a new offer if needed.
|
|
260
260
|
if (headerExtensionOptions?.absCaptureTime) {
|
|
261
261
|
const offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
262
262
|
sdpCommonUtils.addHeaderExtension({
|
|
@@ -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,
|
|
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
|
-
|
|
26
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
.map(exten => exten.preferredId));
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,YAAY,MAAM,eAAe,CAAC;AAEnD,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,EACX,SAAS,EACT,aAAa,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,8BAAsB,YAAY;IAEjC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC;gBAEnD,EACX,aAAa,EACb,aAAa,EACb,cAAc,GACd,EAAE;QACF,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC;IAmDD,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE1C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,SAAS,IAAI,YAAY,CAAC,gBAAgB;IAI1C,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,YAAY,MAAM,eAAe,CAAC;AAEnD,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,EACX,SAAS,EACT,aAAa,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,8BAAsB,YAAY;IAEjC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC;gBAEnD,EACX,aAAa,EACb,aAAa,EACb,cAAc,GACd,EAAE;QACF,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC;IAmDD,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE1C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,SAAS,IAAI,YAAY,CAAC,gBAAgB;IAI1C,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAKpD,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,MAAM,IAAI,IAAI;IAEvB,OAAO,IAAI,IAAI;IAIf,KAAK,IAAI,IAAI;CAuBb;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACvC,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACZ,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,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC;QAChD,kBAAkB,CAAC,EAAE,aAAa,CAAC;QACnC,mBAAmB,CAAC,EAAE,aAAa,CAAC;QACpC,YAAY,CAAC,EAAE,oBAAoB,CAAC;KACpC;IAiQD,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAsBjC,MAAM,IAAI,IAAI;IAId,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,IAAI;CA6BhE;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACtC,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,GAAG,EACH,IAAI,EACJ,kBAAkB,EAClB,QAAQ,EACR,OAAO,GACP,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,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;QAEhC,kBAAkB,CAAC,EAAE,aAAa,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB;IA8ID,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAKjC,MAAM,IAAI,IAAI;CAGd"}
|
|
@@ -64,7 +64,21 @@ class MediaSection {
|
|
|
64
64
|
}
|
|
65
65
|
disable() {
|
|
66
66
|
this.pause();
|
|
67
|
-
|
|
67
|
+
}
|
|
68
|
+
close() {
|
|
69
|
+
this.disable();
|
|
70
|
+
// Set port in m= line to 0, which means that the media sction is closed.
|
|
71
|
+
this._mediaObject.port = 0;
|
|
72
|
+
// NOTE: Do not remove header extensions since it's controversial in the spec.
|
|
73
|
+
delete this._mediaObject.candidates;
|
|
74
|
+
delete this._mediaObject.endOfCandidates;
|
|
75
|
+
delete this._mediaObject.iceUfrag;
|
|
76
|
+
delete this._mediaObject.icePwd;
|
|
77
|
+
delete this._mediaObject.iceOptions;
|
|
78
|
+
this._mediaObject.rtp = [];
|
|
79
|
+
this._mediaObject.fmtp = [];
|
|
80
|
+
delete this._mediaObject.rtcp;
|
|
81
|
+
delete this._mediaObject.rtcpFb;
|
|
68
82
|
delete this._mediaObject.ssrcs;
|
|
69
83
|
delete this._mediaObject.ssrcGroups;
|
|
70
84
|
delete this._mediaObject.simulcast;
|
|
@@ -72,10 +86,6 @@ class MediaSection {
|
|
|
72
86
|
delete this._mediaObject.rids;
|
|
73
87
|
delete this._mediaObject.extmapAllowMixed;
|
|
74
88
|
}
|
|
75
|
-
close() {
|
|
76
|
-
this.disable();
|
|
77
|
-
this._mediaObject.port = 0;
|
|
78
|
-
}
|
|
79
89
|
}
|
|
80
90
|
exports.MediaSection = MediaSection;
|
|
81
91
|
class AnswerMediaSection extends MediaSection {
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/npm-scripts.mjs
CHANGED
|
@@ -212,8 +212,8 @@ function installDeps() {
|
|
|
212
212
|
// Update package-lock.json.
|
|
213
213
|
executeCmd('npm install --package-lock-only --ignore-scripts');
|
|
214
214
|
|
|
215
|
-
// Check vulnerabilities in deps
|
|
216
|
-
executeCmd('npm audit
|
|
215
|
+
// Check vulnerabilities in deps.
|
|
216
|
+
executeCmd('npm audit');
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
function checkRelease() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup-client",
|
|
3
|
-
"version": "3.18.
|
|
3
|
+
"version": "3.18.3",
|
|
4
4
|
"description": "mediasoup client side TypeScript library",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
|
|
@@ -84,19 +84,19 @@
|
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@eslint/js": "^9.39.1",
|
|
86
86
|
"@types/jest": "^30.0.0",
|
|
87
|
-
"@types/node": "^24.10.
|
|
87
|
+
"@types/node": "^24.10.2",
|
|
88
88
|
"@types/sdp-transform": "^2.15.0",
|
|
89
89
|
"@types/ua-parser-js": "^0.7.39",
|
|
90
90
|
"eslint": "^9.39.1",
|
|
91
91
|
"eslint-config-prettier": "^10.1.8",
|
|
92
|
-
"eslint-plugin-jest": "^29.1
|
|
92
|
+
"eslint-plugin-jest": "^29.2.1",
|
|
93
93
|
"eslint-plugin-prettier": "^5.5.4",
|
|
94
94
|
"globals": "^16.5.0",
|
|
95
95
|
"jest": "^30.2.0",
|
|
96
96
|
"open-cli": "^8.0.0",
|
|
97
|
-
"prettier": "^3.
|
|
98
|
-
"ts-jest": "^29.4.
|
|
97
|
+
"prettier": "^3.7.4",
|
|
98
|
+
"ts-jest": "^29.4.6",
|
|
99
99
|
"typescript": "^5.9.3",
|
|
100
|
-
"typescript-eslint": "^8.
|
|
100
|
+
"typescript-eslint": "^8.49.0"
|
|
101
101
|
}
|
|
102
102
|
}
|