mediasoup 3.15.5 → 3.15.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.
package/README.md CHANGED
@@ -4,11 +4,16 @@
4
4
 
5
5
  [![][npm-shield-mediasoup]][npm-mediasoup]
6
6
  [![][crates-shield-mediasoup]][crates-mediasoup]
7
+ [![][opencollective-shield-mediasoup]][opencollective-mediasoup]
8
+
9
+ ---
10
+
7
11
  [![][github-actions-shield-mediasoup-node]][github-actions-mediasoup-node]
8
12
  [![][github-actions-shield-mediasoup-worker]][github-actions-mediasoup-worker]
9
13
  [![][github-actions-shield-mediasoup-rust]][github-actions-mediasoup-rust]
14
+ [![][github-actions-shield-mediasoup-worker-fuzzer]][github-actions-mediasoup-worker-fuzzer]
15
+ [![][github-actions-shield-mediasoup-worker-prebuild]][github-actions-mediasoup-worker-prebuild]
10
16
  [![][codeql-shield-mediasoup]][codeql-mediasoup]
11
- [![][opencollective-shield-mediasoup]][opencollective-mediasoup]
12
17
 
13
18
  ## Website and Documentation
14
19
 
@@ -87,17 +92,21 @@ You can support mediasoup by [sponsoring][sponsor] it. Thanks!
87
92
  [npm-mediasoup]: https://npmjs.org/package/mediasoup
88
93
  [crates-shield-mediasoup]: https://img.shields.io/crates/v/mediasoup.svg
89
94
  [crates-mediasoup]: https://crates.io/crates/mediasoup
95
+ [opencollective-shield-mediasoup]: https://img.shields.io/opencollective/all/mediasoup.svg
96
+ [opencollective-mediasoup]: https://opencollective.com/mediasoup
90
97
  [github-actions-shield-mediasoup-node]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-node.yaml/badge.svg
91
98
  [github-actions-mediasoup-node]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-node.yaml
92
99
  [github-actions-shield-mediasoup-worker]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker.yaml/badge.svg
93
100
  [github-actions-mediasoup-worker]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker.yaml
94
101
  [github-actions-shield-mediasoup-rust]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-rust.yaml/badge.svg
95
102
  [github-actions-mediasoup-rust]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-rust.yaml
103
+ [github-actions-shield-mediasoup-worker-fuzzer]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-fuzzer.yaml/badge.svg
104
+ [github-actions-mediasoup-worker-fuzzer]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-fuzzer.yaml
105
+ [github-actions-shield-mediasoup-worker-prebuild]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-prebuild.yaml/badge.svg
106
+ [github-actions-mediasoup-worker-prebuild]: https://github.com/versatica/mediasoup/actions/workflows/mediasoup-worker-prebuild.yaml
96
107
  [codeql-shield-mediasoup]: https://github.com/versatica/mediasoup/actions/workflows/codeql.yml/badge.svg
97
108
  [codeql-mediasoup]: https://github.com/versatica/mediasoup/actions/workflows/codeql.yml
98
- [opencollective-shield-mediasoup]: https://img.shields.io/opencollective/all/mediasoup.svg
99
- [opencollective-mediasoup]: https://opencollective.com/mediasoup/
100
- [sponsor]: https://mediasoup.org/sponsor/
109
+ [sponsor]: https://mediasoup.org/sponsor
101
110
  [mediasoup-architecture]: /art/mediasoup-v3-architecture-01.svg
102
111
  [mediasoup-demo-screenshot]: /art/mediasoup-v3.png
103
112
  [mediasoup-demo]: https://v3demo.mediasoup.org
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,qBAAqB,EAErB,2BAA2B,EAC3B,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,yBAAyB,CACpC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CAEvD,SAAQ,eAAe,CACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAE9B,YAAW,WAAW,EAAE,qBAAqB;gBAG5C,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAW7E,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,mBAAmB;CAQ3B"}
1
+ {"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,qBAAqB,EAErB,2BAA2B,EAC3B,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,yBAAyB,CACpC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CAEvD,SAAQ,eAAe,CACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAE9B,YAAW,WAAW,EAAE,qBAAqB;gBAG5C,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAW7E,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,IAAa,QAAQ,IAAI,6BAA6B,CAErD;IAED,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,mBAAmB;CAQ3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAElB,wBAAwB,EACxB,0BAA0B,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,sBAAsB,CACjC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAEpD,SAAQ,eAAe,CACtB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAE3B,YAAW,WAAW,EAAE,kBAAkB;gBAGzC,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAWzE,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;IAED,OAAO,CAAC,yBAAyB;IAwDjC,OAAO,CAAC,mBAAmB;CAQ3B"}
1
+ {"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAElB,wBAAwB,EACxB,0BAA0B,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,sBAAsB,CACjC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAEpD,SAAQ,eAAe,CACtB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAE3B,YAAW,WAAW,EAAE,kBAAkB;gBAGzC,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAWzE,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAa,QAAQ,IAAI,0BAA0B,CAElD;IAED,OAAO,CAAC,yBAAyB;IAwDjC,OAAO,CAAC,mBAAmB;CAQ3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectTransport.d.ts","sourceRoot":"","sources":["../src/DirectTransport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,aAAa,EACb,2BAA2B,EAI3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAK7D,KAAK,iCAAiC,CAAC,sBAAsB,IAC5D,2BAA2B,CAAC,sBAAsB,CAAC,GAAG;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,mBAAmB,CAC9B,sBAAsB,SAAS,OAAO,GAAG,OAAO,CAEjD,SAAQ,aAAa,CACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,CAExB,YAAW,SAAS,EAAE,eAAe;;gBAOpC,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAiBnE,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,IAAI,QAAQ,IAAI,uBAAuB,CAEtC;IAED,KAAK,IAAI,IAAI;IAQb,YAAY,IAAI,IAAI;IAQd,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkBpC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmB1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAwBlC,OAAO,CAAC,yBAAyB;IA0CjC,OAAO,CAAC,mBAAmB;CAQ3B;AAED,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,kBAAkB,CAAC,YAAY,GACrC,iBAAiB,CAEnB"}
1
+ {"version":3,"file":"DirectTransport.d.ts","sourceRoot":"","sources":["../src/DirectTransport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,aAAa,EACb,2BAA2B,EAI3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAK7D,KAAK,iCAAiC,CAAC,sBAAsB,IAC5D,2BAA2B,CAAC,sBAAsB,CAAC,GAAG;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,mBAAmB,CAC9B,sBAAsB,SAAS,OAAO,GAAG,OAAO,CAEjD,SAAQ,aAAa,CACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,CAExB,YAAW,SAAS,EAAE,eAAe;;gBAOpC,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAiBnE,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,IAAa,QAAQ,IAAI,uBAAuB,CAE/C;IAEQ,KAAK,IAAI,IAAI;IAQb,YAAY,IAAI,IAAI;IAQvB,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkBpC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmB1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKf,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAwBlC,OAAO,CAAC,yBAAyB;IA0CjC,OAAO,CAAC,mBAAmB;CAQ3B;AAED,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,kBAAkB,CAAC,YAAY,GACrC,iBAAiB,CAEnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PipeTransport.d.ts","sourceRoot":"","sources":["../src/PipeTransport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAM3B,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAO9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AAEzD,KAAK,+BAA+B,CAAC,oBAAoB,IACxD,2BAA2B,CAAC,oBAAoB,CAAC,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;CACxB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,iBAAiB,CAAC,oBAAoB,SAAS,OAAO,GAAG,OAAO,CAC5E,SAAQ,aAAa,CACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,CAEtB,YAAW,SAAS,EAAE,aAAa;;gBAKvB,OAAO,EAAE,+BAA+B,CAAC,oBAAoB,CAAC;IAsB1E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,qBAAqB,CAEpC;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,KAAK,IAAI,IAAI;IAYb,YAAY,IAAI,IAAI;IAYd,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAkBlC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBxC,OAAO,CAAC,EACb,EAAE,EACF,IAAI,EACJ,cAAc,GACd,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BX,OAAO,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,EAAE,EACxD,UAAU,EACV,OAAO,GACP,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAyE5E,OAAO,CAAC,yBAAyB;IA6CjC,OAAO,CAAC,mBAAmB;CAQ3B;AAMD,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,gBAAgB,CAAC,YAAY,GACnC,iBAAiB,CAmBnB"}
1
+ {"version":3,"file":"PipeTransport.d.ts","sourceRoot":"","sources":["../src/PipeTransport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAM3B,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAO9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AAEzD,KAAK,+BAA+B,CAAC,oBAAoB,IACxD,2BAA2B,CAAC,oBAAoB,CAAC,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;CACxB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,iBAAiB,CAAC,oBAAoB,SAAS,OAAO,GAAG,OAAO,CAC5E,SAAQ,aAAa,CACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,CAEtB,YAAW,SAAS,EAAE,aAAa;;gBAKvB,OAAO,EAAE,+BAA+B,CAAC,oBAAoB,CAAC;IAsB1E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAa,QAAQ,IAAI,qBAAqB,CAE7C;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAEQ,KAAK,IAAI,IAAI;IAYb,YAAY,IAAI,IAAI;IAYvB,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAkBlC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBxC,OAAO,CAAC,EACb,EAAE,EACF,IAAI,EACJ,cAAc,GACd,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BF,OAAO,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,EAAE,EACjE,UAAU,EACV,OAAO,GACP,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAyE5E,OAAO,CAAC,yBAAyB;IA6CjC,OAAO,CAAC,mBAAmB;CAQ3B;AAMD,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,gBAAgB,CAAC,YAAY,GACnC,iBAAiB,CAmBnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlainTransport.d.ts","sourceRoot":"","sources":["../src/PlainTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAM3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,KAAK,gCAAgC,CAAC,qBAAqB,IAC1D,2BAA2B,CAAC,qBAAqB,CAAC,GAAG;IACpD,IAAI,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,kBAAkB,CAAC,qBAAqB,SAAS,OAAO,GAAG,OAAO,CAC9E,SAAQ,aAAa,CACpB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,CAEvB,YAAW,SAAS,EAAE,cAAc;;gBAMnC,OAAO,EAAE,gCAAgC,CAAC,qBAAqB,CAAC;IAyBjE,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,QAAQ,IAAI,sBAAsB,CAErC;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,KAAK,IAAI,IAAI;IAYb,YAAY,IAAI,IAAI;IAYd,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAkBnC,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAkBzC,OAAO,CAAC,EACb,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,cAAc,GACd,EAAE;QACF,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCjB,OAAO,CAAC,yBAAyB;IA+EjC,OAAO,CAAC,mBAAmB;CAQ3B;AAED,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,iBAAiB,CAAC,YAAY,GACpC,kBAAkB,CA4BpB"}
1
+ {"version":3,"file":"PlainTransport.d.ts","sourceRoot":"","sources":["../src/PlainTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAM3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,KAAK,gCAAgC,CAAC,qBAAqB,IAC1D,2BAA2B,CAAC,qBAAqB,CAAC,GAAG;IACpD,IAAI,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC,CAAC;AAIF,qBAAa,kBAAkB,CAAC,qBAAqB,SAAS,OAAO,GAAG,OAAO,CAC9E,SAAQ,aAAa,CACpB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,CAEvB,YAAW,SAAS,EAAE,cAAc;;gBAMnC,OAAO,EAAE,gCAAgC,CAAC,qBAAqB,CAAC;IAyBjE,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAa,QAAQ,IAAI,sBAAsB,CAE9C;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAEQ,KAAK,IAAI,IAAI;IAYb,YAAY,IAAI,IAAI;IAYvB,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAkBnC,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAkBzC,OAAO,CAAC,EACb,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,cAAc,GACd,EAAE;QACF,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCjB,OAAO,CAAC,yBAAyB;IA+EjC,OAAO,CAAC,mBAAmB;CAQ3B;AAED,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,iBAAiB,CAAC,YAAY,GACpC,kBAAkB,CA4BpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
@@ -490,34 +490,47 @@ class TransportImpl extends enhancedEvents_1.EnhancedEventEmitter {
490
490
  let type;
491
491
  let sctpStreamParameters;
492
492
  let sctpStreamId;
493
+ // If this is a DirectTransport, sctpStreamParameters must not be used.
494
+ if (this.type === 'direct') {
495
+ type = 'direct';
496
+ if (ordered !== undefined ||
497
+ maxPacketLifeTime !== undefined ||
498
+ maxRetransmits !== undefined) {
499
+ logger.warn('consumeData() | ordered, maxPacketLifeTime and maxRetransmits are ignored when consuming data on a DirectTransport');
500
+ }
501
+ }
493
502
  // If this is not a DirectTransport, use sctpStreamParameters from the
494
503
  // DataProducer (if type 'sctp') unless they are given in method parameters.
495
- if (this.type !== 'direct') {
504
+ // If the DataProducer is type 'sctp' and no sctpStreamParameters are given,
505
+ // generate proper ones.
506
+ else {
496
507
  type = 'sctp';
497
- sctpStreamParameters =
498
- utils.clone(dataProducer.sctpStreamParameters) ?? {};
499
- // Override if given.
500
- if (ordered !== undefined) {
501
- sctpStreamParameters.ordered = ordered;
502
- }
503
- if (maxPacketLifeTime !== undefined) {
504
- sctpStreamParameters.maxPacketLifeTime = maxPacketLifeTime;
505
- }
506
- if (maxRetransmits !== undefined) {
507
- sctpStreamParameters.maxRetransmits = maxRetransmits;
508
- }
509
508
  // This may throw.
510
509
  sctpStreamId = this.getNextSctpStreamId();
510
+ sctpStreamParameters = dataProducer.sctpStreamParameters
511
+ ? utils.clone(dataProducer.sctpStreamParameters)
512
+ : {
513
+ streamId: sctpStreamId,
514
+ ordered: true,
515
+ };
511
516
  this.#sctpStreamIds[sctpStreamId] = 1;
512
517
  sctpStreamParameters.streamId = sctpStreamId;
513
- }
514
- // If this is a DirectTransport, sctpStreamParameters must not be used.
515
- else {
516
- type = 'direct';
517
- if (ordered !== undefined ||
518
- maxPacketLifeTime !== undefined ||
519
- maxRetransmits !== undefined) {
520
- logger.warn('consumeData() | ordered, maxPacketLifeTime and maxRetransmits are ignored when consuming data on a DirectTransport');
518
+ if (ordered !== undefined) {
519
+ sctpStreamParameters.ordered = ordered;
520
+ if (ordered) {
521
+ sctpStreamParameters.maxPacketLifeTime = undefined;
522
+ sctpStreamParameters.maxRetransmits = undefined;
523
+ }
524
+ }
525
+ if (!ordered) {
526
+ if (maxPacketLifeTime !== undefined) {
527
+ sctpStreamParameters.ordered = false;
528
+ sctpStreamParameters.maxPacketLifeTime = maxPacketLifeTime;
529
+ }
530
+ if (maxRetransmits !== undefined) {
531
+ sctpStreamParameters.ordered = false;
532
+ sctpStreamParameters.maxRetransmits = maxRetransmits;
533
+ }
521
534
  }
522
535
  }
523
536
  const { label, protocol } = dataProducer;
@@ -1 +1 @@
1
- {"version":3,"file":"WebRtcTransport.d.ts","sourceRoot":"","sources":["../src/WebRtcTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EAId,QAAQ,EAIR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAO3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAS9D,KAAK,iCAAiC,CAAC,sBAAsB,IAC5D,2BAA2B,CAAC,sBAAsB,CAAC,GAAG;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAIF,qBAAa,mBAAmB,CAC9B,sBAAsB,SAAS,OAAO,GAAG,OAAO,CAEjD,SAAQ,aAAa,CACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,CAExB,YAAW,SAAS,EAAE,eAAe;;gBAMpC,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IA4BnE,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,IAAI,QAAQ,IAAI,uBAAuB,CAEtC;IAED,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAEjD;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAED,KAAK,IAAI,IAAI;IAgBb,YAAY,IAAI,IAAI;IAgBpB,kBAAkB,IAAI,IAAI;IAgBpB,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkBpC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkB1C,OAAO,CAAC,EACb,cAAc,GACd,EAAE;QACF,cAAc,EAAE,cAAc,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBX,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA0B1C,OAAO,CAAC,yBAAyB;IAuGjC,OAAO,CAAC,mBAAmB;CAQ3B;AAwKD,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,kBAAkB,CAAC,YAAY,GACrC,mBAAmB,CAyBrB"}
1
+ {"version":3,"file":"WebRtcTransport.d.ts","sourceRoot":"","sources":["../src/WebRtcTransport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EAId,QAAQ,EAIR,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,2BAA2B,EAO3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAS9D,KAAK,iCAAiC,CAAC,sBAAsB,IAC5D,2BAA2B,CAAC,sBAAsB,CAAC,GAAG;IACrD,IAAI,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAIF,qBAAa,mBAAmB,CAC9B,sBAAsB,SAAS,OAAO,GAAG,OAAO,CAEjD,SAAQ,aAAa,CACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,CAExB,YAAW,SAAS,EAAE,eAAe;;gBAMpC,OAAO,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IA4BnE,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED,IAAa,QAAQ,IAAI,uBAAuB,CAE/C;IAED,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAEjD;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IAEQ,KAAK,IAAI,IAAI;IAgBb,YAAY,IAAI,IAAI;IAgBpB,kBAAkB,IAAI,IAAI;IAgB7B,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkBpC,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkB1C,OAAO,CAAC,EACb,cAAc,GACd,EAAE;QACF,cAAc,EAAE,cAAc,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBX,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA0B1C,OAAO,CAAC,yBAAyB;IAuGjC,OAAO,CAAC,mBAAmB;CAQ3B;AAwKD,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,kBAAkB,CAAC,YAAY,GACrC,mBAAmB,CAyBrB"}
@@ -23,9 +23,9 @@ const protocol_1 = require("./fbs/transport/protocol");
23
23
  // If env MEDIASOUP_WORKER_BIN is given, use it as worker binary.
24
24
  // Otherwise if env MEDIASOUP_BUILDTYPE is 'Debug' use the Debug binary.
25
25
  // Otherwise use the Release binary.
26
- exports.workerBin = process.env.MEDIASOUP_WORKER_BIN
27
- ? process.env.MEDIASOUP_WORKER_BIN
28
- : process.env.MEDIASOUP_BUILDTYPE === 'Debug'
26
+ exports.workerBin = process.env['MEDIASOUP_WORKER_BIN']
27
+ ? process.env['MEDIASOUP_WORKER_BIN']
28
+ : process.env['MEDIASOUP_BUILDTYPE'] === 'Debug'
29
29
  ? path.join(__dirname, '..', '..', 'worker', 'out', 'Debug', 'mediasoup-worker')
30
30
  : path.join(__dirname, '..', '..', 'worker', 'out', 'Release', 'mediasoup-worker');
31
31
  const logger = new Logger_1.Logger('Worker');
@@ -56,10 +56,10 @@ class WorkerImpl extends enhancedEvents_1.EnhancedEventEmitter {
56
56
  logger.debug('constructor()');
57
57
  let spawnBin = exports.workerBin;
58
58
  let spawnArgs = [];
59
- if (process.env.MEDIASOUP_USE_VALGRIND === 'true') {
60
- spawnBin = process.env.MEDIASOUP_VALGRIND_BIN ?? 'valgrind';
61
- if (process.env.MEDIASOUP_VALGRIND_OPTIONS) {
62
- spawnArgs = spawnArgs.concat(process.env.MEDIASOUP_VALGRIND_OPTIONS.split(/\s+/));
59
+ if (process.env['MEDIASOUP_USE_VALGRIND'] === 'true') {
60
+ spawnBin = process.env['MEDIASOUP_VALGRIND_BIN'] ?? 'valgrind';
61
+ if (process.env['MEDIASOUP_VALGRIND_OPTIONS']) {
62
+ spawnArgs = spawnArgs.concat(process.env['MEDIASOUP_VALGRIND_OPTIONS'].split(/\s+/));
63
63
  }
64
64
  spawnArgs.push(exports.workerBin);
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enhancedEvents.d.ts","sourceRoot":"","sources":["../src/enhancedEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhancedEvents.d.ts","sourceRoot":"","sources":["../src/enhancedEvents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import type { Observer, LogEventListeners } from './indexTypes';
2
2
  import type { Worker, WorkerSettings } from './WorkerTypes';
3
- import { workerBin } from './Worker';
4
3
  import type { RtpCapabilities } from './rtpParametersTypes';
5
- import { parseScalabilityMode } from './scalabilityModesUtils';
6
4
  import type { AppData } from './types';
7
5
  /**
8
6
  * Expose all types.
@@ -20,7 +18,7 @@ export { observer };
20
18
  /**
21
19
  * Full path of the mediasoup-worker binary.
22
20
  */
23
- export { workerBin };
21
+ export { workerBin } from './Worker';
24
22
  /**
25
23
  * Set event listeners for mediasoup generated logs. If called with no arguments
26
24
  * then no events will be emitted.
@@ -54,7 +52,7 @@ export declare function getSupportedRtpCapabilities(): RtpCapabilities;
54
52
  /**
55
53
  * Expose parseScalabilityMode() function.
56
54
  */
57
- export { parseScalabilityMode };
55
+ export { parseScalabilityMode } from './scalabilityModesUtils';
58
56
  /**
59
57
  * Expose extras module.
60
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;GAEG;AACH,YAAY,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC;;GAEG;AAEH,eAAO,MAAM,OAAO,EAAE,MAA8C,CAAC;AAErE,QAAA,MAAM,QAAQ,EAAE,QAAqD,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC;AAIrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,IAAI,CA0BxE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EAAE,EAC3E,QAAkB,EAClB,OAAO,EACP,UAAkB,EAClB,UAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,OAAO,GACP,GAAE,cAAc,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CA6BrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,eAAe,CAE7D;AAED;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;GAEG;AACH,YAAY,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC;;GAEG;AAEH,eAAO,MAAM,OAAO,EAAE,MAA8C,CAAC;AAErE,QAAA,MAAM,QAAQ,EAAE,QAAqD,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,IAAI,CA0BxE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EAAE,EAC3E,QAAkB,EAClB,OAAO,EACP,UAAkB,EAClB,UAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,OAAO,GACP,GAAE,cAAc,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CA6BrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,eAAe,CAE7D;AAED;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC"}
package/node/lib/index.js CHANGED
@@ -7,10 +7,8 @@ exports.getSupportedRtpCapabilities = getSupportedRtpCapabilities;
7
7
  const Logger_1 = require("./Logger");
8
8
  const enhancedEvents_1 = require("./enhancedEvents");
9
9
  const Worker_1 = require("./Worker");
10
- Object.defineProperty(exports, "workerBin", { enumerable: true, get: function () { return Worker_1.workerBin; } });
11
10
  const supportedRtpCapabilities_1 = require("./supportedRtpCapabilities");
12
11
  const scalabilityModesUtils_1 = require("./scalabilityModesUtils");
13
- Object.defineProperty(exports, "parseScalabilityMode", { enumerable: true, get: function () { return scalabilityModesUtils_1.parseScalabilityMode; } });
14
12
  const utils = require("./utils");
15
13
  /**
16
14
  * Expose mediasoup version.
@@ -19,6 +17,11 @@ const utils = require("./utils");
19
17
  exports.version = require('../../package.json').version;
20
18
  const observer = new enhancedEvents_1.EnhancedEventEmitter();
21
19
  exports.observer = observer;
20
+ /**
21
+ * Full path of the mediasoup-worker binary.
22
+ */
23
+ var Worker_2 = require("./Worker");
24
+ Object.defineProperty(exports, "workerBin", { enumerable: true, get: function () { return Worker_2.workerBin; } });
22
25
  const logger = new Logger_1.Logger();
23
26
  /**
24
27
  * Set event listeners for mediasoup generated logs. If called with no arguments
@@ -94,6 +97,11 @@ async function createWorker({ logLevel = 'error', logTags, rtcMinPort = 10000, r
94
97
  function getSupportedRtpCapabilities() {
95
98
  return utils.clone(supportedRtpCapabilities_1.supportedRtpCapabilities);
96
99
  }
100
+ /**
101
+ * Expose parseScalabilityMode() function.
102
+ */
103
+ var scalabilityModesUtils_2 = require("./scalabilityModesUtils");
104
+ Object.defineProperty(exports, "parseScalabilityMode", { enumerable: true, get: function () { return scalabilityModesUtils_2.parseScalabilityMode; } });
97
105
  /**
98
106
  * Expose extras module.
99
107
  */
@@ -555,7 +555,7 @@ test('consumer.dump() succeeds', async () => {
555
555
  expect(dump1.rtpParameters.encodings).toEqual([
556
556
  expect.objectContaining({
557
557
  codecPayloadType: 100,
558
- ssrc: audioConsumer.rtpParameters.encodings?.[0].ssrc,
558
+ ssrc: audioConsumer.rtpParameters.encodings[0].ssrc,
559
559
  }),
560
560
  ]);
561
561
  expect(dump1.type).toBe('simple');
@@ -563,7 +563,7 @@ test('consumer.dump() succeeds', async () => {
563
563
  expect(dump1.consumableRtpEncodings.length).toBe(1);
564
564
  expect(dump1.consumableRtpEncodings).toEqual([
565
565
  expect.objectContaining({
566
- ssrc: ctx.audioProducer.consumableRtpParameters.encodings?.[0].ssrc,
566
+ ssrc: ctx.audioProducer.consumableRtpParameters.encodings[0].ssrc,
567
567
  }),
568
568
  ]);
569
569
  expect(dump1.supportedCodecPayloadTypes).toEqual([100]);
@@ -629,9 +629,9 @@ test('consumer.dump() succeeds', async () => {
629
629
  expect(dump2.rtpParameters.encodings).toMatchObject([
630
630
  {
631
631
  codecPayloadType: 103,
632
- ssrc: videoConsumer.rtpParameters.encodings?.[0].ssrc,
632
+ ssrc: videoConsumer.rtpParameters.encodings[0].ssrc,
633
633
  rtx: {
634
- ssrc: videoConsumer.rtpParameters.encodings?.[0].rtx?.ssrc,
634
+ ssrc: videoConsumer.rtpParameters.encodings[0].rtx?.ssrc,
635
635
  },
636
636
  scalabilityMode: 'L4T5',
637
637
  },
@@ -639,19 +639,19 @@ test('consumer.dump() succeeds', async () => {
639
639
  expect(Array.isArray(dump2.consumableRtpEncodings)).toBe(true);
640
640
  expect(dump2.consumableRtpEncodings.length).toBe(4);
641
641
  expect(dump2.consumableRtpEncodings[0]).toEqual(expect.objectContaining({
642
- ssrc: ctx.videoProducer.consumableRtpParameters.encodings?.[0].ssrc,
642
+ ssrc: ctx.videoProducer.consumableRtpParameters.encodings[0].ssrc,
643
643
  scalabilityMode: 'L1T5',
644
644
  }));
645
645
  expect(dump2.consumableRtpEncodings[1]).toEqual(expect.objectContaining({
646
- ssrc: ctx.videoProducer.consumableRtpParameters.encodings?.[1].ssrc,
646
+ ssrc: ctx.videoProducer.consumableRtpParameters.encodings[1].ssrc,
647
647
  scalabilityMode: 'L1T5',
648
648
  }));
649
649
  expect(dump2.consumableRtpEncodings[2]).toEqual(expect.objectContaining({
650
- ssrc: ctx.videoProducer.consumableRtpParameters.encodings?.[2].ssrc,
650
+ ssrc: ctx.videoProducer.consumableRtpParameters.encodings[2].ssrc,
651
651
  scalabilityMode: 'L1T5',
652
652
  }));
653
653
  expect(dump2.consumableRtpEncodings[3]).toEqual(expect.objectContaining({
654
- ssrc: ctx.videoProducer.consumableRtpParameters.encodings?.[3].ssrc,
654
+ ssrc: ctx.videoProducer.consumableRtpParameters.encodings[3].ssrc,
655
655
  scalabilityMode: 'L1T5',
656
656
  }));
657
657
  expect(dump2.supportedCodecPayloadTypes).toEqual([103]);
@@ -669,7 +669,7 @@ test('consumer.getStats() succeeds', async () => {
669
669
  type: 'outbound-rtp',
670
670
  kind: 'audio',
671
671
  mimeType: 'audio/opus',
672
- ssrc: audioConsumer.rtpParameters.encodings?.[0].ssrc,
672
+ ssrc: audioConsumer.rtpParameters.encodings[0].ssrc,
673
673
  }),
674
674
  ]);
675
675
  const videoConsumer = await ctx.webRtcTransport2.consume({
@@ -681,7 +681,7 @@ test('consumer.getStats() succeeds', async () => {
681
681
  type: 'outbound-rtp',
682
682
  kind: 'video',
683
683
  mimeType: 'video/H264',
684
- ssrc: videoConsumer.rtpParameters.encodings?.[0].ssrc,
684
+ ssrc: videoConsumer.rtpParameters.encodings[0].ssrc,
685
685
  }),
686
686
  ]);
687
687
  }, 2000);
@@ -4,7 +4,7 @@ const mediasoup = require("../");
4
4
  const enhancedEvents_1 = require("../enhancedEvents");
5
5
  const utils = require("../utils");
6
6
  const ctx = {
7
- dataProducerOptions: utils.deepFreeze({
7
+ sctpDataProducerOptions: utils.deepFreeze({
8
8
  sctpStreamParameters: {
9
9
  streamId: 12345,
10
10
  ordered: false,
@@ -26,7 +26,8 @@ beforeEach(async () => {
26
26
  enableSctp: true,
27
27
  });
28
28
  ctx.directTransport = await ctx.router.createDirectTransport();
29
- ctx.dataProducer = await ctx.webRtcTransport1.produceData(ctx.dataProducerOptions);
29
+ ctx.sctpDataProducer = await ctx.webRtcTransport1.produceData(ctx.sctpDataProducerOptions);
30
+ ctx.directDataProducer = await ctx.directTransport.produceData();
30
31
  });
31
32
  afterEach(async () => {
32
33
  ctx.worker?.close();
@@ -37,8 +38,8 @@ afterEach(async () => {
37
38
  test('transport.consumeData() succeeds', async () => {
38
39
  const onObserverNewDataConsumer = jest.fn();
39
40
  ctx.webRtcTransport2.observer.once('newdataconsumer', onObserverNewDataConsumer);
40
- const dataConsumer1 = await ctx.webRtcTransport2.consumeData({
41
- dataProducerId: ctx.dataProducer.id,
41
+ const dataConsumer = await ctx.webRtcTransport2.consumeData({
42
+ dataProducerId: ctx.sctpDataProducer.id,
42
43
  maxPacketLifeTime: 4000,
43
44
  // Valid values are 0...65535 so others and duplicated ones will be
44
45
  // discarded.
@@ -46,38 +47,38 @@ test('transport.consumeData() succeeds', async () => {
46
47
  appData: { baz: 'LOL' },
47
48
  });
48
49
  expect(onObserverNewDataConsumer).toHaveBeenCalledTimes(1);
49
- expect(onObserverNewDataConsumer).toHaveBeenCalledWith(dataConsumer1);
50
- expect(typeof dataConsumer1.id).toBe('string');
51
- expect(dataConsumer1.dataProducerId).toBe(ctx.dataProducer.id);
52
- expect(dataConsumer1.closed).toBe(false);
53
- expect(dataConsumer1.type).toBe('sctp');
54
- expect(typeof dataConsumer1.sctpStreamParameters).toBe('object');
55
- expect(typeof dataConsumer1.sctpStreamParameters?.streamId).toBe('number');
56
- expect(dataConsumer1.sctpStreamParameters?.ordered).toBe(false);
57
- expect(dataConsumer1.sctpStreamParameters?.maxPacketLifeTime).toBe(4000);
58
- expect(dataConsumer1.sctpStreamParameters?.maxRetransmits).toBeUndefined();
59
- expect(dataConsumer1.label).toBe('foo');
60
- expect(dataConsumer1.protocol).toBe('bar');
61
- expect(dataConsumer1.paused).toBe(false);
62
- expect(dataConsumer1.subchannels).toEqual(expect.arrayContaining([0, 1, 2, 100, 65535]));
63
- expect(dataConsumer1.appData).toEqual({ baz: 'LOL' });
50
+ expect(onObserverNewDataConsumer).toHaveBeenCalledWith(dataConsumer);
51
+ expect(typeof dataConsumer.id).toBe('string');
52
+ expect(dataConsumer.dataProducerId).toBe(ctx.sctpDataProducer.id);
53
+ expect(dataConsumer.closed).toBe(false);
54
+ expect(dataConsumer.type).toBe('sctp');
55
+ expect(typeof dataConsumer.sctpStreamParameters).toBe('object');
56
+ expect(typeof dataConsumer.sctpStreamParameters.streamId).toBe('number');
57
+ expect(dataConsumer.sctpStreamParameters.ordered).toBe(false);
58
+ expect(dataConsumer.sctpStreamParameters.maxPacketLifeTime).toBe(4000);
59
+ expect(dataConsumer.sctpStreamParameters.maxRetransmits).toBeUndefined();
60
+ expect(dataConsumer.label).toBe('foo');
61
+ expect(dataConsumer.protocol).toBe('bar');
62
+ expect(dataConsumer.paused).toBe(false);
63
+ expect(dataConsumer.subchannels).toEqual(expect.arrayContaining([0, 1, 2, 100, 65535]));
64
+ expect(dataConsumer.appData).toEqual({ baz: 'LOL' });
64
65
  const dump = await ctx.router.dump();
65
66
  expect(dump.mapDataProducerIdDataConsumerIds).toEqual(expect.arrayContaining([
66
- { key: ctx.dataProducer.id, values: [dataConsumer1.id] },
67
+ { key: ctx.sctpDataProducer.id, values: [dataConsumer.id] },
67
68
  ]));
68
69
  expect(dump.mapDataConsumerIdDataProducerId).toEqual(expect.arrayContaining([
69
- { key: dataConsumer1.id, value: ctx.dataProducer.id },
70
+ { key: dataConsumer.id, value: ctx.sctpDataProducer.id },
70
71
  ]));
71
72
  await expect(ctx.webRtcTransport2.dump()).resolves.toMatchObject({
72
73
  id: ctx.webRtcTransport2.id,
73
74
  dataProducerIds: [],
74
- dataConsumerIds: [dataConsumer1.id],
75
+ dataConsumerIds: [dataConsumer.id],
75
76
  });
76
77
  }, 2000);
77
78
  test('dataConsumer.dump() succeeds', async () => {
78
79
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
79
- dataProducerId: ctx.dataProducer.id,
80
- maxPacketLifeTime: 4000,
80
+ dataProducerId: ctx.sctpDataProducer.id,
81
+ ordered: true,
81
82
  // Valid values are 0...65535 so others and duplicated ones will be
82
83
  // discarded.
83
84
  subchannels: [0, 1, 1, 1, 2, 65535, 65536, 65537, 100],
@@ -88,9 +89,9 @@ test('dataConsumer.dump() succeeds', async () => {
88
89
  expect(dump.dataProducerId).toBe(dataConsumer.dataProducerId);
89
90
  expect(dump.type).toBe('sctp');
90
91
  expect(typeof dump.sctpStreamParameters).toBe('object');
91
- expect(dump.sctpStreamParameters.streamId).toBe(dataConsumer.sctpStreamParameters?.streamId);
92
- expect(dump.sctpStreamParameters.ordered).toBe(false);
93
- expect(dump.sctpStreamParameters.maxPacketLifeTime).toBe(4000);
92
+ expect(dump.sctpStreamParameters.streamId).toBe(dataConsumer.sctpStreamParameters.streamId);
93
+ expect(dump.sctpStreamParameters.ordered).toBe(true);
94
+ expect(dump.sctpStreamParameters.maxPacketLifeTime).toBeUndefined();
94
95
  expect(dump.sctpStreamParameters.maxRetransmits).toBeUndefined();
95
96
  expect(dump.label).toBe('foo');
96
97
  expect(dump.protocol).toBe('bar');
@@ -100,7 +101,7 @@ test('dataConsumer.dump() succeeds', async () => {
100
101
  }, 2000);
101
102
  test('dataConsumer.getStats() succeeds', async () => {
102
103
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
103
- dataProducerId: ctx.dataProducer.id,
104
+ dataProducerId: ctx.sctpDataProducer.id,
104
105
  });
105
106
  await expect(dataConsumer.getStats()).resolves.toMatchObject([
106
107
  {
@@ -114,14 +115,14 @@ test('dataConsumer.getStats() succeeds', async () => {
114
115
  }, 2000);
115
116
  test('dataConsumer.setSubchannels() succeeds', async () => {
116
117
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
117
- dataProducerId: ctx.dataProducer.id,
118
+ dataProducerId: ctx.sctpDataProducer.id,
118
119
  });
119
120
  await dataConsumer.setSubchannels([999, 999, 998, 65536]);
120
121
  expect(dataConsumer.subchannels).toEqual(expect.arrayContaining([0, 998, 999]));
121
122
  }, 2000);
122
123
  test('dataConsumer.addSubchannel() and .removeSubchannel() succeed', async () => {
123
124
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
124
- dataProducerId: ctx.dataProducer.id,
125
+ dataProducerId: ctx.sctpDataProducer.id,
125
126
  });
126
127
  await dataConsumer.setSubchannels([]);
127
128
  expect(dataConsumer.subchannels).toEqual([]);
@@ -138,18 +139,75 @@ test('dataConsumer.addSubchannel() and .removeSubchannel() succeed', async () =>
138
139
  await dataConsumer.setSubchannels([]);
139
140
  expect(dataConsumer.subchannels).toEqual([]);
140
141
  }, 2000);
142
+ test('transport.consumeData() from a direct DataProducer succeeds', async () => {
143
+ const onObserverNewDataConsumer = jest.fn();
144
+ ctx.webRtcTransport2.observer.once('newdataconsumer', onObserverNewDataConsumer);
145
+ const dataConsumer = await ctx.webRtcTransport2.consumeData({
146
+ dataProducerId: ctx.directDataProducer.id,
147
+ });
148
+ expect(onObserverNewDataConsumer).toHaveBeenCalledTimes(1);
149
+ expect(onObserverNewDataConsumer).toHaveBeenCalledWith(dataConsumer);
150
+ expect(typeof dataConsumer.id).toBe('string');
151
+ expect(dataConsumer.dataProducerId).toBe(ctx.directDataProducer.id);
152
+ expect(dataConsumer.closed).toBe(false);
153
+ expect(dataConsumer.type).toBe('sctp');
154
+ expect(typeof dataConsumer.sctpStreamParameters).toBe('object');
155
+ expect(typeof dataConsumer.sctpStreamParameters.streamId).toBe('number');
156
+ expect(dataConsumer.sctpStreamParameters.ordered).toBe(true);
157
+ expect(dataConsumer.sctpStreamParameters.maxPacketLifeTime).toBeUndefined();
158
+ expect(dataConsumer.sctpStreamParameters.maxRetransmits).toBeUndefined();
159
+ expect(dataConsumer.label).toBe('');
160
+ expect(dataConsumer.protocol).toBe('');
161
+ expect(dataConsumer.paused).toBe(false);
162
+ expect(dataConsumer.subchannels).toEqual([]);
163
+ expect(dataConsumer.appData).toEqual({});
164
+ const dump = await ctx.router.dump();
165
+ expect(dump.mapDataProducerIdDataConsumerIds).toEqual(expect.arrayContaining([
166
+ { key: ctx.directDataProducer.id, values: [dataConsumer.id] },
167
+ ]));
168
+ expect(dump.mapDataConsumerIdDataProducerId).toEqual(expect.arrayContaining([
169
+ { key: dataConsumer.id, value: ctx.directDataProducer.id },
170
+ ]));
171
+ await expect(ctx.webRtcTransport2.dump()).resolves.toMatchObject({
172
+ id: ctx.webRtcTransport2.id,
173
+ dataProducerIds: [],
174
+ dataConsumerIds: [dataConsumer.id],
175
+ });
176
+ }, 2000);
177
+ test('dataConsumer.dump() consuming from a direct DataProducer succeeds', async () => {
178
+ const dataConsumer = await ctx.webRtcTransport2.consumeData({
179
+ dataProducerId: ctx.directDataProducer.id,
180
+ ordered: false,
181
+ maxRetransmits: 2,
182
+ subchannels: [0, 1],
183
+ });
184
+ const dump = await dataConsumer.dump();
185
+ expect(dump.id).toBe(dataConsumer.id);
186
+ expect(dump.dataProducerId).toBe(dataConsumer.dataProducerId);
187
+ expect(dump.type).toBe('sctp');
188
+ expect(typeof dump.sctpStreamParameters).toBe('object');
189
+ expect(dump.sctpStreamParameters.streamId).toBe(dataConsumer.sctpStreamParameters.streamId);
190
+ expect(dump.sctpStreamParameters.ordered).toBe(false);
191
+ expect(dump.sctpStreamParameters.maxPacketLifeTime).toBeUndefined();
192
+ expect(dump.sctpStreamParameters.maxRetransmits).toBe(2);
193
+ expect(dump.label).toBe('');
194
+ expect(dump.protocol).toBe('');
195
+ expect(dump.paused).toBe(false);
196
+ expect(dump.dataProducerPaused).toBe(false);
197
+ expect(dump.subchannels).toEqual(expect.arrayContaining([0, 1]));
198
+ }, 2000);
141
199
  test('transport.consumeData() on a DirectTransport succeeds', async () => {
142
200
  const onObserverNewDataConsumer = jest.fn();
143
201
  ctx.directTransport.observer.once('newdataconsumer', onObserverNewDataConsumer);
144
202
  const dataConsumer = await ctx.directTransport.consumeData({
145
- dataProducerId: ctx.dataProducer.id,
203
+ dataProducerId: ctx.sctpDataProducer.id,
146
204
  paused: true,
147
205
  appData: { hehe: 'HEHE' },
148
206
  });
149
207
  expect(onObserverNewDataConsumer).toHaveBeenCalledTimes(1);
150
208
  expect(onObserverNewDataConsumer).toHaveBeenCalledWith(dataConsumer);
151
209
  expect(typeof dataConsumer.id).toBe('string');
152
- expect(dataConsumer.dataProducerId).toBe(ctx.dataProducer.id);
210
+ expect(dataConsumer.dataProducerId).toBe(ctx.sctpDataProducer.id);
153
211
  expect(dataConsumer.closed).toBe(false);
154
212
  expect(dataConsumer.type).toBe('direct');
155
213
  expect(dataConsumer.sctpStreamParameters).toBeUndefined();
@@ -159,13 +217,13 @@ test('transport.consumeData() on a DirectTransport succeeds', async () => {
159
217
  expect(dataConsumer.appData).toEqual({ hehe: 'HEHE' });
160
218
  await expect(ctx.directTransport.dump()).resolves.toMatchObject({
161
219
  id: ctx.directTransport.id,
162
- dataProducerIds: [],
220
+ dataProducerIds: [ctx.directDataProducer.id],
163
221
  dataConsumerIds: [dataConsumer.id],
164
222
  });
165
223
  }, 2000);
166
224
  test('dataConsumer.dump() on a DirectTransport succeeds', async () => {
167
225
  const dataConsumer = await ctx.directTransport.consumeData({
168
- dataProducerId: ctx.dataProducer.id,
226
+ dataProducerId: ctx.sctpDataProducer.id,
169
227
  paused: true,
170
228
  });
171
229
  const dump = await dataConsumer.dump();
@@ -180,7 +238,7 @@ test('dataConsumer.dump() on a DirectTransport succeeds', async () => {
180
238
  }, 2000);
181
239
  test('dataConsumer.getStats() on a DirectTransport succeeds', async () => {
182
240
  const dataConsumer = await ctx.directTransport.consumeData({
183
- dataProducerId: ctx.dataProducer.id,
241
+ dataProducerId: ctx.sctpDataProducer.id,
184
242
  });
185
243
  await expect(dataConsumer.getStats()).resolves.toMatchObject([
186
244
  {
@@ -196,7 +254,7 @@ test('dataConsumer.pause() and resume() succeed', async () => {
196
254
  const onObserverPause = jest.fn();
197
255
  const onObserverResume = jest.fn();
198
256
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
199
- dataProducerId: ctx.dataProducer.id,
257
+ dataProducerId: ctx.sctpDataProducer.id,
200
258
  });
201
259
  dataConsumer.observer.on('pause', onObserverPause);
202
260
  dataConsumer.observer.on('resume', onObserverResume);
@@ -221,7 +279,7 @@ test('dataConsumer.pause() and resume() succeed', async () => {
221
279
  }, 2000);
222
280
  test('dataProducer.pause() and resume() emit events', async () => {
223
281
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
224
- dataProducerId: ctx.dataProducer.id,
282
+ dataProducerId: ctx.sctpDataProducer.id,
225
283
  });
226
284
  const promises = [];
227
285
  const events = [];
@@ -231,8 +289,8 @@ test('dataProducer.pause() and resume() emit events', async () => {
231
289
  dataConsumer.observer.once('pause', () => {
232
290
  events.push('pause');
233
291
  });
234
- promises.push(ctx.dataProducer.pause());
235
- promises.push(ctx.dataProducer.resume());
292
+ promises.push(ctx.sctpDataProducer.pause());
293
+ promises.push(ctx.sctpDataProducer.resume());
236
294
  await Promise.all(promises);
237
295
  // Must also wait a bit for the corresponding events in the data consumer.
238
296
  await new Promise(resolve => setTimeout(resolve, 100));
@@ -242,14 +300,14 @@ test('dataProducer.pause() and resume() emit events', async () => {
242
300
  test('dataConsumer.close() succeeds', async () => {
243
301
  const onObserverClose = jest.fn();
244
302
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
245
- dataProducerId: ctx.dataProducer.id,
303
+ dataProducerId: ctx.sctpDataProducer.id,
246
304
  });
247
305
  dataConsumer.observer.once('close', onObserverClose);
248
306
  dataConsumer.close();
249
307
  expect(onObserverClose).toHaveBeenCalledTimes(1);
250
308
  expect(dataConsumer.closed).toBe(true);
251
309
  const dump = await ctx.router.dump();
252
- expect(dump.mapDataProducerIdDataConsumerIds).toEqual(expect.arrayContaining([{ key: ctx.dataProducer.id, values: [] }]));
310
+ expect(dump.mapDataProducerIdDataConsumerIds).toEqual(expect.arrayContaining([{ key: ctx.sctpDataProducer.id, values: [] }]));
253
311
  expect(dump.mapDataConsumerIdDataProducerId).toEqual([]);
254
312
  await expect(ctx.webRtcTransport2.dump()).resolves.toMatchObject({
255
313
  id: ctx.webRtcTransport2.id,
@@ -259,7 +317,7 @@ test('dataConsumer.close() succeeds', async () => {
259
317
  }, 2000);
260
318
  test('Consumer methods reject if closed', async () => {
261
319
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
262
- dataProducerId: ctx.dataProducer.id,
320
+ dataProducerId: ctx.sctpDataProducer.id,
263
321
  });
264
322
  dataConsumer.close();
265
323
  await expect(dataConsumer.dump()).rejects.toThrow(Error);
@@ -267,19 +325,19 @@ test('Consumer methods reject if closed', async () => {
267
325
  }, 2000);
268
326
  test('DataConsumer emits "dataproducerclose" if DataProducer is closed', async () => {
269
327
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
270
- dataProducerId: ctx.dataProducer.id,
328
+ dataProducerId: ctx.sctpDataProducer.id,
271
329
  });
272
330
  const onObserverClose = jest.fn();
273
331
  dataConsumer.observer.once('close', onObserverClose);
274
332
  const promise = (0, enhancedEvents_1.enhancedOnce)(dataConsumer, 'dataproducerclose');
275
- ctx.dataProducer.close();
333
+ ctx.sctpDataProducer.close();
276
334
  await promise;
277
335
  expect(onObserverClose).toHaveBeenCalledTimes(1);
278
336
  expect(dataConsumer.closed).toBe(true);
279
337
  }, 2000);
280
338
  test('DataConsumer emits "transportclose" if Transport is closed', async () => {
281
339
  const dataConsumer = await ctx.webRtcTransport2.consumeData({
282
- dataProducerId: ctx.dataProducer.id,
340
+ dataProducerId: ctx.sctpDataProducer.id,
283
341
  });
284
342
  const onObserverClose = jest.fn();
285
343
  dataConsumer.observer.once('close', onObserverClose);
@@ -703,9 +703,9 @@ test('transport.consume() for a pipe Producer succeeds', async () => {
703
703
  },
704
704
  ]);
705
705
  expect(videoConsumer.rtpParameters.encodings?.length).toBe(1);
706
- expect(typeof videoConsumer.rtpParameters.encodings?.[0].ssrc).toBe('number');
707
- expect(typeof videoConsumer.rtpParameters.encodings?.[0].rtx).toBe('object');
708
- expect(typeof videoConsumer.rtpParameters.encodings?.[0].rtx?.ssrc).toBe('number');
706
+ expect(typeof videoConsumer.rtpParameters.encodings[0].ssrc).toBe('number');
707
+ expect(typeof videoConsumer.rtpParameters.encodings[0].rtx).toBe('object');
708
+ expect(typeof videoConsumer.rtpParameters.encodings[0].rtx?.ssrc).toBe('number');
709
709
  expect(videoConsumer.type).toBe('simulcast');
710
710
  expect(videoConsumer.paused).toBe(false);
711
711
  expect(videoConsumer.producerPaused).toBe(false);
@@ -6,15 +6,15 @@ const path = require("node:path");
6
6
  const mediasoup = require("../");
7
7
  const enhancedEvents_1 = require("../enhancedEvents");
8
8
  const errors_1 = require("../errors");
9
- test('Worker.workerBin matches mediasoup-worker absolute path', () => {
10
- const workerBin = process.env.MEDIASOUP_WORKER_BIN
11
- ? process.env.MEDIASOUP_WORKER_BIN
12
- : process.env.MEDIASOUP_BUILDTYPE === 'Debug'
9
+ test('mediasoup.workerBin matches mediasoup-worker absolute path', () => {
10
+ const workerBin = process.env['MEDIASOUP_WORKER_BIN']
11
+ ? process.env['MEDIASOUP_WORKER_BIN']
12
+ : process.env['MEDIASOUP_BUILDTYPE'] === 'Debug'
13
13
  ? path.join(__dirname, '..', '..', '..', 'worker', 'out', 'Debug', 'mediasoup-worker')
14
14
  : path.join(__dirname, '..', '..', '..', 'worker', 'out', 'Release', 'mediasoup-worker');
15
15
  expect(mediasoup.workerBin).toBe(workerBin);
16
16
  });
17
- test('createWorker() succeeds', async () => {
17
+ test('mediasoup.createWorker() succeeds', async () => {
18
18
  const onObserverNewWorker = jest.fn();
19
19
  mediasoup.observer.once('newworker', onObserverNewWorker);
20
20
  const worker1 = await mediasoup.createWorker();
@@ -49,7 +49,7 @@ test('createWorker() succeeds', async () => {
49
49
  expect(worker2.closed).toBe(true);
50
50
  expect(worker2.died).toBe(false);
51
51
  }, 2000);
52
- test('createWorker() with wrong settings rejects with TypeError', async () => {
52
+ test('mediasoup.createWorker() with wrong settings rejects with TypeError', async () => {
53
53
  // @ts-expect-error --- Testing purposes.
54
54
  await expect(mediasoup.createWorker({ logLevel: 'chicken' })).rejects.toThrow(TypeError);
55
55
  await expect(mediasoup.createWorker({ rtcMinPort: 1000, rtcMaxPort: 999 })).rejects.toThrow(TypeError);
@@ -115,7 +115,7 @@ test('worker.close() succeeds', async () => {
115
115
  expect(worker.closed).toBe(true);
116
116
  expect(worker.died).toBe(false);
117
117
  }, 2000);
118
- test('Worker emits "died" if worker process died unexpectedly', async () => {
118
+ test('Worker emits "died" if mediasoup-worker process died unexpectedly', async () => {
119
119
  let onDied;
120
120
  let onObserverClose;
121
121
  const worker1 = await mediasoup.createWorker({ logLevel: 'warn' });
@@ -200,7 +200,7 @@ test('Worker emits "died" if worker process died unexpectedly', async () => {
200
200
  // Windows doesn't have some signals such as SIGPIPE, SIGALRM, SIGUSR1, SIGUSR2
201
201
  // so we just skip this test in Windows.
202
202
  if (os.platform() !== 'win32') {
203
- test('worker process ignores PIPE, HUP, ALRM, USR1 and USR2 signals', async () => {
203
+ test('mediasoup-worker process ignores PIPE, HUP, ALRM, USR1 and USR2 signals', async () => {
204
204
  const worker = await mediasoup.createWorker({ logLevel: 'warn' });
205
205
  await new Promise((resolve, reject) => {
206
206
  worker.on('died', reject);
@@ -211,9 +211,9 @@ if (os.platform() !== 'win32') {
211
211
  process.kill(worker.pid, 'SIGUSR2');
212
212
  setTimeout(() => {
213
213
  expect(worker.closed).toBe(false);
214
- worker.close();
215
214
  worker.on('subprocessclose', resolve);
215
+ worker.close();
216
216
  }, 2000);
217
217
  });
218
- }, 3000);
218
+ }, 4000);
219
219
  }
@@ -11,7 +11,7 @@ const { version, getSupportedRtpCapabilities, parseScalabilityMode } = mediasoup
11
11
  test('mediasoup.version matches version field in package.json', () => {
12
12
  expect(version).toBe(PKG.version);
13
13
  });
14
- test('setLoggerEventListeners() works', async () => {
14
+ test('mediasoup.setLoggerEventListeners() succeeds', async () => {
15
15
  const onDebug = jest.fn();
16
16
  mediasoup.setLogEventListeners({
17
17
  ondebug: onDebug,
@@ -35,7 +35,7 @@ test('mediasoup.getSupportedRtpCapabilities() returns the mediasoup RTP capabili
35
35
  const rtpCapabilities2 = getSupportedRtpCapabilities();
36
36
  expect(rtpCapabilities2).not.toEqual(rtpCapabilities);
37
37
  });
38
- test('parseScalabilityMode() works', () => {
38
+ test('mediasoup.parseScalabilityMode() succeeds', () => {
39
39
  expect(parseScalabilityMode('L1T3')).toEqual({
40
40
  spatialLayers: 1,
41
41
  temporalLayers: 3,
@@ -384,12 +384,12 @@ test('getProducerRtpParametersMapping(), getConsumableRtpParameters(), getConsum
384
384
  },
385
385
  rtcpFeedback: [],
386
386
  });
387
- expect(consumerRtpParameters.encodings?.length).toBe(1);
388
- expect(typeof consumerRtpParameters.encodings?.[0].ssrc).toBe('number');
389
- expect(typeof consumerRtpParameters.encodings?.[0].rtx).toBe('object');
390
- expect(typeof consumerRtpParameters.encodings?.[0].rtx?.ssrc).toBe('number');
391
- expect(consumerRtpParameters.encodings?.[0].scalabilityMode).toBe('L3T3');
392
- expect(consumerRtpParameters.encodings?.[0].maxBitrate).toBe(333333);
387
+ expect(consumerRtpParameters.encodings.length).toBe(1);
388
+ expect(typeof consumerRtpParameters.encodings[0].ssrc).toBe('number');
389
+ expect(typeof consumerRtpParameters.encodings[0].rtx).toBe('object');
390
+ expect(typeof consumerRtpParameters.encodings[0].rtx?.ssrc).toBe('number');
391
+ expect(consumerRtpParameters.encodings[0].scalabilityMode).toBe('L3T3');
392
+ expect(consumerRtpParameters.encodings[0].maxBitrate).toBe(333333);
393
393
  expect(consumerRtpParameters.headerExtensions).toEqual([
394
394
  {
395
395
  uri: 'urn:ietf:params:rtp-hdrext:sdes:mid',
@@ -433,19 +433,19 @@ test('getProducerRtpParametersMapping(), getConsumableRtpParameters(), getConsum
433
433
  { type: 'ccm', parameter: 'fir' },
434
434
  ],
435
435
  });
436
- expect(pipeConsumerRtpParameters.encodings?.length).toBe(3);
437
- expect(typeof pipeConsumerRtpParameters.encodings?.[0].ssrc).toBe('number');
438
- expect(pipeConsumerRtpParameters.encodings?.[0].rtx).toBeUndefined();
439
- expect(typeof pipeConsumerRtpParameters.encodings?.[0].maxBitrate).toBe('number');
440
- expect(pipeConsumerRtpParameters.encodings?.[0].scalabilityMode).toBe('L1T3');
441
- expect(typeof pipeConsumerRtpParameters.encodings?.[1].ssrc).toBe('number');
442
- expect(pipeConsumerRtpParameters.encodings?.[1].rtx).toBeUndefined();
443
- expect(typeof pipeConsumerRtpParameters.encodings?.[1].maxBitrate).toBe('number');
444
- expect(pipeConsumerRtpParameters.encodings?.[1].scalabilityMode).toBe('L1T3');
445
- expect(typeof pipeConsumerRtpParameters.encodings?.[2].ssrc).toBe('number');
446
- expect(pipeConsumerRtpParameters.encodings?.[2].rtx).toBeUndefined();
447
- expect(typeof pipeConsumerRtpParameters.encodings?.[2].maxBitrate).toBe('number');
448
- expect(pipeConsumerRtpParameters.encodings?.[2].scalabilityMode).toBe('L1T3');
436
+ expect(pipeConsumerRtpParameters.encodings.length).toBe(3);
437
+ expect(typeof pipeConsumerRtpParameters.encodings[0].ssrc).toBe('number');
438
+ expect(pipeConsumerRtpParameters.encodings[0].rtx).toBeUndefined();
439
+ expect(typeof pipeConsumerRtpParameters.encodings[0].maxBitrate).toBe('number');
440
+ expect(pipeConsumerRtpParameters.encodings[0].scalabilityMode).toBe('L1T3');
441
+ expect(typeof pipeConsumerRtpParameters.encodings[1].ssrc).toBe('number');
442
+ expect(pipeConsumerRtpParameters.encodings[1].rtx).toBeUndefined();
443
+ expect(typeof pipeConsumerRtpParameters.encodings[1].maxBitrate).toBe('number');
444
+ expect(pipeConsumerRtpParameters.encodings[1].scalabilityMode).toBe('L1T3');
445
+ expect(typeof pipeConsumerRtpParameters.encodings[2].ssrc).toBe('number');
446
+ expect(pipeConsumerRtpParameters.encodings[2].rtx).toBeUndefined();
447
+ expect(typeof pipeConsumerRtpParameters.encodings[2].maxBitrate).toBe('number');
448
+ expect(pipeConsumerRtpParameters.encodings[2].scalabilityMode).toBe('L1T3');
449
449
  expect(pipeConsumerRtpParameters.rtcp).toEqual({
450
450
  cname: rtpParameters.rtcp?.cname,
451
451
  reducedSize: true,
package/npm-scripts.mjs CHANGED
@@ -20,22 +20,23 @@ const WORKER_RELEASE_BIN = IS_WINDOWS
20
20
  : 'mediasoup-worker';
21
21
  const WORKER_RELEASE_BIN_PATH = `${WORKER_RELEASE_DIR}/${WORKER_RELEASE_BIN}`;
22
22
  const WORKER_PREBUILD_DIR = 'worker/prebuild';
23
- const WORKER_PREBUILD_TAR = getWorkerPrebuildTarName();
24
- const WORKER_PREBUILD_TAR_PATH = `${WORKER_PREBUILD_DIR}/${WORKER_PREBUILD_TAR}`;
25
23
  const GH_OWNER = 'versatica';
26
24
  const GH_REPO = 'mediasoup';
27
25
 
28
26
  // Paths for ESLint to check. Converted to string for convenience.
29
27
  const ESLINT_PATHS = [
30
28
  'eslint.config.mjs',
29
+ 'jest.config.mjs',
31
30
  'node/src',
32
31
  'npm-scripts.mjs',
33
32
  'worker/scripts',
34
33
  ].join(' ');
34
+
35
35
  // Paths for ESLint to ignore. Converted to string argument for convenience.
36
36
  const ESLINT_IGNORE_PATTERN_ARGS = ['node/src/fbs']
37
37
  .map(entry => `--ignore-pattern ${entry}`)
38
38
  .join(' ');
39
+
39
40
  // Paths for Prettier to check/write. Converted to string for convenience.
40
41
  // NOTE: Prettier ignores paths in .gitignore so we don't need to care about
41
42
  // node/src/fbs.
@@ -44,6 +45,8 @@ const PRETTIER_PATHS = [
44
45
  'CONTRIBUTING.md',
45
46
  'README.md',
46
47
  'doc',
48
+ 'eslint.config.mjs',
49
+ 'jest.config.mjs',
47
50
  'node/src',
48
51
  'npm-scripts.mjs',
49
52
  'package.json',
@@ -66,7 +69,7 @@ if (process.env.PYTHONPATH) {
66
69
  process.env.PYTHONPATH = PIP_INVOKE_DIR;
67
70
  }
68
71
 
69
- run();
72
+ void run();
70
73
 
71
74
  async function run() {
72
75
  logInfo(args ? `[args:"${args}"]` : '');
@@ -135,15 +138,13 @@ async function run() {
135
138
  }
136
139
 
137
140
  case 'typescript:build': {
138
- installNodeDeps();
139
141
  buildTypescript({ force: true });
140
142
 
141
143
  break;
142
144
  }
143
145
 
144
146
  case 'typescript:watch': {
145
- deleteNodeLib();
146
- executeCmd(`tsc --watch ${args}`);
147
+ watchTypescript();
147
148
 
148
149
  break;
149
150
  }
@@ -154,6 +155,12 @@ async function run() {
154
155
  break;
155
156
  }
156
157
 
158
+ case 'worker:prebuild-name': {
159
+ getWorkerPrebuildTarName();
160
+
161
+ break;
162
+ }
163
+
157
164
  case 'worker:prebuild': {
158
165
  await prebuildWorker();
159
166
 
@@ -199,7 +206,6 @@ async function run() {
199
206
  }
200
207
 
201
208
  case 'test:node': {
202
- buildTypescript({ force: false });
203
209
  testNode();
204
210
 
205
211
  break;
@@ -212,7 +218,6 @@ async function run() {
212
218
  }
213
219
 
214
220
  case 'coverage:node': {
215
- buildTypescript({ force: false });
216
221
  executeCmd(`jest --coverage ${args}`);
217
222
  executeCmd('open-cli coverage/lcov-report/index.html');
218
223
 
@@ -284,17 +289,23 @@ function getPython() {
284
289
  }
285
290
 
286
291
  function getWorkerPrebuildTarName() {
287
- let name = `mediasoup-worker-${PKG.version}-${os.platform()}-${os.arch()}`;
292
+ let workerPrebuildTarName = `mediasoup-worker-${PKG.version}-${os.platform()}-${os.arch()}`;
288
293
 
289
294
  // In Linux we want to know about kernel version since kernel >= 6 supports
290
295
  // io-uring.
291
296
  if (os.platform() === 'linux') {
292
297
  const kernelMajorVersion = Number(os.release().split('.')[0]);
293
298
 
294
- name += `-kernel${kernelMajorVersion}`;
299
+ workerPrebuildTarName += `-kernel${kernelMajorVersion}`;
295
300
  }
296
301
 
297
- return `${name}.tgz`;
302
+ workerPrebuildTarName = `${workerPrebuildTarName}.tgz`;
303
+
304
+ logInfo(
305
+ `getWorkerPrebuildTarName() [workerPrebuildTarName:${workerPrebuildTarName}]`
306
+ );
307
+
308
+ return workerPrebuildTarName;
298
309
  }
299
310
 
300
311
  function installInvoke() {
@@ -307,8 +318,7 @@ function installInvoke() {
307
318
  // Install pip invoke into custom location, so we don't depend on system-wide
308
319
  // installation.
309
320
  executeCmd(
310
- `"${PYTHON}" -m pip install --upgrade --no-user --target "${PIP_INVOKE_DIR}" invoke`,
311
- /* exitOnError */ true
321
+ `"${PYTHON}" -m pip install --upgrade --no-user --target "${PIP_INVOKE_DIR}" invoke`
312
322
  );
313
323
  }
314
324
 
@@ -322,7 +332,7 @@ function deleteNodeLib() {
322
332
  fs.rmSync('node/lib', { recursive: true, force: true });
323
333
  }
324
334
 
325
- function buildTypescript({ force = false } = { force: false }) {
335
+ function buildTypescript({ force }) {
326
336
  if (!force && fs.existsSync('node/lib')) {
327
337
  return;
328
338
  }
@@ -330,7 +340,16 @@ function buildTypescript({ force = false } = { force: false }) {
330
340
  logInfo('buildTypescript()');
331
341
 
332
342
  deleteNodeLib();
333
- executeCmd('tsc');
343
+
344
+ executeCmd(`tsc ${args}`);
345
+ }
346
+
347
+ function watchTypescript() {
348
+ logInfo('watchTypescript()');
349
+
350
+ deleteNodeLib();
351
+
352
+ executeCmd(`tsc --watch ${args}`);
334
353
  }
335
354
 
336
355
  function buildWorker() {
@@ -348,8 +367,10 @@ function cleanWorkerArtifacts() {
348
367
 
349
368
  // Clean build artifacts except `mediasoup-worker`.
350
369
  executeCmd(`"${PYTHON}" -m invoke -r worker clean-build`);
370
+
351
371
  // Clean downloaded dependencies.
352
372
  executeCmd(`"${PYTHON}" -m invoke -r worker clean-subprojects`);
373
+
353
374
  // Clean PIP/Meson/Ninja.
354
375
  executeCmd(`"${PYTHON}" -m invoke -r worker clean-pip`);
355
376
  }
@@ -460,6 +481,7 @@ function installNodeDeps() {
460
481
 
461
482
  // Install/update Node deps.
462
483
  executeCmd('npm ci --ignore-scripts');
484
+
463
485
  // Update package-lock.json.
464
486
  executeCmd('npm install --package-lock-only --ignore-scripts');
465
487
  }
@@ -490,6 +512,9 @@ async function prebuildWorker() {
490
512
 
491
513
  ensureDir(WORKER_PREBUILD_DIR);
492
514
 
515
+ const workerPrebuildTar = getWorkerPrebuildTarName();
516
+ const workerPrebuildTarPath = `${WORKER_PREBUILD_DIR}/${workerPrebuildTar}`;
517
+
493
518
  return new Promise((resolve, reject) => {
494
519
  // Generate a gzip file which just contains mediasoup-worker binary without
495
520
  // any folder.
@@ -501,7 +526,7 @@ async function prebuildWorker() {
501
526
  },
502
527
  [WORKER_RELEASE_BIN]
503
528
  )
504
- .pipe(fs.createWriteStream(WORKER_PREBUILD_TAR_PATH))
529
+ .pipe(fs.createWriteStream(workerPrebuildTarPath))
505
530
  .on('finish', resolve)
506
531
  .on('error', reject);
507
532
  });
@@ -516,16 +541,19 @@ async function downloadPrebuiltWorker() {
516
541
  .replace(/^git\+/, '')
517
542
  .replace(/\.git$/, '')}/releases/download`;
518
543
 
519
- const tarUrl = `${releaseBase}/${PKG.version}/${WORKER_PREBUILD_TAR}`;
544
+ const workerPrebuildTar = getWorkerPrebuildTarName();
545
+ const workerPrebuildTarUrl = `${releaseBase}/${PKG.version}/${workerPrebuildTar}`;
520
546
 
521
- logInfo(`downloadPrebuiltWorker() [tarUrl:${tarUrl}]`);
547
+ logInfo(
548
+ `downloadPrebuiltWorker() [workerPrebuildTarUrl:${workerPrebuildTarUrl}]`
549
+ );
522
550
 
523
551
  ensureDir(WORKER_PREBUILD_DIR);
524
552
 
525
553
  let res;
526
554
 
527
555
  try {
528
- res = await fetch(tarUrl);
556
+ res = await fetch(workerPrebuildTarUrl);
529
557
 
530
558
  if (res.status === 404) {
531
559
  logInfo(
@@ -663,19 +691,15 @@ async function getVersionChanges() {
663
691
  );
664
692
  }
665
693
 
666
- function executeCmd(command, exitOnError = true) {
694
+ function executeCmd(command) {
667
695
  logInfo(`executeCmd(): ${command}`);
668
696
 
669
697
  try {
670
698
  execSync(command, { stdio: ['ignore', process.stdout, process.stderr] });
671
699
  } catch (error) {
672
- if (exitOnError) {
673
- logError(`executeCmd() failed, exiting: ${error}`);
700
+ logError(`executeCmd() failed, exiting: ${error}`);
674
701
 
675
- exitWithError();
676
- } else {
677
- logInfo(`executeCmd() failed, ignoring: ${error}`);
678
- }
702
+ exitWithError();
679
703
  }
680
704
  }
681
705
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup",
3
- "version": "3.15.5",
3
+ "version": "3.15.7",
4
4
  "description": "Cutting Edge WebRTC Video Conferencing",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -19,8 +19,25 @@
19
19
  },
20
20
  "main": "node/lib/index.js",
21
21
  "types": "node/lib/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./node/lib/index.d.ts",
25
+ "default": "./node/lib/index.js"
26
+ },
27
+ "./types": {
28
+ "types": "./node/lib/types.d.ts",
29
+ "default": "./node/lib/types.js"
30
+ },
31
+ "./extras": {
32
+ "types": "./node/lib/extras.d.ts",
33
+ "default": "./node/lib/extras.js"
34
+ }
35
+ },
22
36
  "files": [
37
+ "LICENSE",
38
+ "README.md",
23
39
  "node/lib",
40
+ "npm-scripts.mjs",
24
41
  "worker/deps/libwebrtc",
25
42
  "worker/fbs",
26
43
  "worker/fuzzer/include",
@@ -36,8 +53,7 @@
36
53
  "worker/test/src",
37
54
  "worker/meson.build",
38
55
  "worker/meson_options.txt",
39
- "worker/tasks.py",
40
- "npm-scripts.mjs"
56
+ "worker/tasks.py"
41
57
  ],
42
58
  "engines": {
43
59
  "node": ">=18"
@@ -54,6 +70,7 @@
54
70
  "typescript:build": "node npm-scripts.mjs typescript:build",
55
71
  "typescript:watch": "node npm-scripts.mjs typescript:watch",
56
72
  "worker:build": "node npm-scripts.mjs worker:build",
73
+ "worker:prebuild-name": "node npm-scripts.mjs worker:prebuild-name",
57
74
  "worker:prebuild": "node npm-scripts.mjs worker:prebuild",
58
75
  "lint": "npm run lint:node && npm run lint:worker",
59
76
  "lint:node": "node npm-scripts.mjs lint:node",
@@ -71,53 +88,26 @@
71
88
  "release:check": "node npm-scripts.mjs release:check",
72
89
  "release": "node npm-scripts.mjs release"
73
90
  },
74
- "jest": {
75
- "verbose": true,
76
- "testEnvironment": "node",
77
- "testRegex": "node/src/test/test-.*\\.ts",
78
- "transform": {
79
- "^.*\\.ts$": [
80
- "ts-jest",
81
- {
82
- "diagnostics": {
83
- "ignoreCodes": [
84
- "TS151001"
85
- ]
86
- }
87
- }
88
- ]
89
- },
90
- "coveragePathIgnorePatterns": [
91
- "node/src/fbs",
92
- "node/src/test"
93
- ],
94
- "cacheDirectory": ".cache/jest",
95
- "modulePathIgnorePatterns": [
96
- "worker",
97
- "rust",
98
- "target"
99
- ]
100
- },
101
91
  "dependencies": {
102
92
  "@types/ini": "^4.1.1",
103
93
  "debug": "^4.4.0",
104
94
  "flatbuffers": "^25.2.10",
105
- "h264-profile-level-id": "^2.0.0",
95
+ "h264-profile-level-id": "^2.2.0",
106
96
  "ini": "^5.0.0",
107
97
  "node-fetch": "^3.3.2",
108
98
  "supports-color": "^10.0.0",
109
99
  "tar": "^7.4.3"
110
100
  },
111
101
  "devDependencies": {
112
- "@eslint/js": "^9.21.0",
102
+ "@eslint/js": "^9.23.0",
113
103
  "@octokit/rest": "^21.1.1",
114
104
  "@types/debug": "^4.1.12",
115
105
  "@types/jest": "^29.5.14",
116
- "@types/node": "^22.13.9",
117
- "eslint": "^9.21.0",
118
- "eslint-config-prettier": "^10.0.2",
106
+ "@types/node": "^22.13.13",
107
+ "eslint": "^9.23.0",
108
+ "eslint-config-prettier": "^10.1.1",
119
109
  "eslint-plugin-jest": "^28.11.0",
120
- "eslint-plugin-prettier": "^5.2.3",
110
+ "eslint-plugin-prettier": "^5.2.4",
121
111
  "globals": "^16.0.0",
122
112
  "jest": "^29.7.0",
123
113
  "marked": "^15.0.7",
@@ -125,8 +115,8 @@
125
115
  "pick-port": "^2.1.0",
126
116
  "prettier": "^3.5.3",
127
117
  "sctp": "^1.0.0",
128
- "ts-jest": "^29.2.6",
129
- "typescript": "^5.7.3",
130
- "typescript-eslint": "^8.26.0"
118
+ "ts-jest": "^29.3.0",
119
+ "typescript": "^5.8.2",
120
+ "typescript-eslint": "^8.28.0"
131
121
  }
132
122
  }