mediasoup 3.15.6 → 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/node/lib/ActiveSpeakerObserver.d.ts.map +1 -1
- package/node/lib/AudioLevelObserver.d.ts.map +1 -1
- package/node/lib/DirectTransport.d.ts.map +1 -1
- package/node/lib/PipeTransport.d.ts.map +1 -1
- package/node/lib/PlainTransport.d.ts.map +1 -1
- package/node/lib/Transport.d.ts.map +1 -1
- package/node/lib/Transport.js +34 -21
- package/node/lib/WebRtcTransport.d.ts.map +1 -1
- package/node/lib/Worker.js +7 -7
- package/node/lib/enhancedEvents.d.ts.map +1 -1
- package/node/lib/index.d.ts +2 -4
- package/node/lib/index.d.ts.map +1 -1
- package/node/lib/index.js +10 -2
- package/node/lib/test/test-Consumer.js +10 -10
- package/node/lib/test/test-DataConsumer.js +103 -45
- package/node/lib/test/test-PipeTransport.js +3 -3
- package/node/lib/test/test-Worker.js +3 -3
- package/node/lib/test/test-ortc.js +19 -19
- package/npm-scripts.mjs +25 -17
- package/package.json +25 -36
|
@@ -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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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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"}
|
package/node/lib/Transport.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
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,
|
|
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"}
|
package/node/lib/Worker.js
CHANGED
|
@@ -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
|
|
27
|
-
? process.env
|
|
28
|
-
: process.env
|
|
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
|
|
60
|
-
spawnBin = process.env
|
|
61
|
-
if (process.env
|
|
62
|
-
spawnArgs = spawnArgs.concat(process.env
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAQ,MAAM,aAAa,CAAC;AAEjD,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEpC,qBAAa,oBAAoB,CAChC,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,aAAa,SAAS,MAAM,GAAG;IAC9B,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;CAChC,EACD,EAAE,SAAS,MAAM,GAAG,CAAC,GAAG,aAAa,CACpC,SAAQ,YAAY;;
|
|
1
|
+
{"version":3,"file":"enhancedEvents.d.ts","sourceRoot":"","sources":["../src/enhancedEvents.ts"],"names":[],"mappings":"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"}
|
package/node/lib/index.d.ts
CHANGED
|
@@ -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
|
*/
|
package/node/lib/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
|
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
|
|
632
|
+
ssrc: videoConsumer.rtpParameters.encodings[0].ssrc,
|
|
633
633
|
rtx: {
|
|
634
|
-
ssrc: videoConsumer.rtpParameters.encodings
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
|
41
|
-
dataProducerId: ctx.
|
|
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(
|
|
50
|
-
expect(typeof
|
|
51
|
-
expect(
|
|
52
|
-
expect(
|
|
53
|
-
expect(
|
|
54
|
-
expect(typeof
|
|
55
|
-
expect(typeof
|
|
56
|
-
expect(
|
|
57
|
-
expect(
|
|
58
|
-
expect(
|
|
59
|
-
expect(
|
|
60
|
-
expect(
|
|
61
|
-
expect(
|
|
62
|
-
expect(
|
|
63
|
-
expect(
|
|
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.
|
|
67
|
+
{ key: ctx.sctpDataProducer.id, values: [dataConsumer.id] },
|
|
67
68
|
]));
|
|
68
69
|
expect(dump.mapDataConsumerIdDataProducerId).toEqual(expect.arrayContaining([
|
|
69
|
-
{ key:
|
|
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: [
|
|
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.
|
|
80
|
-
|
|
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
|
|
92
|
-
expect(dump.sctpStreamParameters.ordered).toBe(
|
|
93
|
-
expect(dump.sctpStreamParameters.maxPacketLifeTime).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
235
|
-
promises.push(ctx.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
707
|
-
expect(typeof videoConsumer.rtpParameters.encodings
|
|
708
|
-
expect(typeof videoConsumer.rtpParameters.encodings
|
|
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);
|
|
@@ -7,9 +7,9 @@ const mediasoup = require("../");
|
|
|
7
7
|
const enhancedEvents_1 = require("../enhancedEvents");
|
|
8
8
|
const errors_1 = require("../errors");
|
|
9
9
|
test('mediasoup.workerBin matches mediasoup-worker absolute path', () => {
|
|
10
|
-
const workerBin = process.env
|
|
11
|
-
? process.env
|
|
12
|
-
: process.env
|
|
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);
|
|
@@ -384,12 +384,12 @@ test('getProducerRtpParametersMapping(), getConsumableRtpParameters(), getConsum
|
|
|
384
384
|
},
|
|
385
385
|
rtcpFeedback: [],
|
|
386
386
|
});
|
|
387
|
-
expect(consumerRtpParameters.encodings
|
|
388
|
-
expect(typeof consumerRtpParameters.encodings
|
|
389
|
-
expect(typeof consumerRtpParameters.encodings
|
|
390
|
-
expect(typeof consumerRtpParameters.encodings
|
|
391
|
-
expect(consumerRtpParameters.encodings
|
|
392
|
-
expect(consumerRtpParameters.encodings
|
|
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
|
|
437
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
438
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
439
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
440
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
441
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
442
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
443
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
444
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
445
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
446
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
447
|
-
expect(typeof pipeConsumerRtpParameters.encodings
|
|
448
|
-
expect(pipeConsumerRtpParameters.encodings
|
|
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
|
@@ -26,14 +26,17 @@ const GH_REPO = 'mediasoup';
|
|
|
26
26
|
// Paths for ESLint to check. Converted to string for convenience.
|
|
27
27
|
const ESLINT_PATHS = [
|
|
28
28
|
'eslint.config.mjs',
|
|
29
|
+
'jest.config.mjs',
|
|
29
30
|
'node/src',
|
|
30
31
|
'npm-scripts.mjs',
|
|
31
32
|
'worker/scripts',
|
|
32
33
|
].join(' ');
|
|
34
|
+
|
|
33
35
|
// Paths for ESLint to ignore. Converted to string argument for convenience.
|
|
34
36
|
const ESLINT_IGNORE_PATTERN_ARGS = ['node/src/fbs']
|
|
35
37
|
.map(entry => `--ignore-pattern ${entry}`)
|
|
36
38
|
.join(' ');
|
|
39
|
+
|
|
37
40
|
// Paths for Prettier to check/write. Converted to string for convenience.
|
|
38
41
|
// NOTE: Prettier ignores paths in .gitignore so we don't need to care about
|
|
39
42
|
// node/src/fbs.
|
|
@@ -42,6 +45,8 @@ const PRETTIER_PATHS = [
|
|
|
42
45
|
'CONTRIBUTING.md',
|
|
43
46
|
'README.md',
|
|
44
47
|
'doc',
|
|
48
|
+
'eslint.config.mjs',
|
|
49
|
+
'jest.config.mjs',
|
|
45
50
|
'node/src',
|
|
46
51
|
'npm-scripts.mjs',
|
|
47
52
|
'package.json',
|
|
@@ -64,7 +69,7 @@ if (process.env.PYTHONPATH) {
|
|
|
64
69
|
process.env.PYTHONPATH = PIP_INVOKE_DIR;
|
|
65
70
|
}
|
|
66
71
|
|
|
67
|
-
run();
|
|
72
|
+
void run();
|
|
68
73
|
|
|
69
74
|
async function run() {
|
|
70
75
|
logInfo(args ? `[args:"${args}"]` : '');
|
|
@@ -133,15 +138,13 @@ async function run() {
|
|
|
133
138
|
}
|
|
134
139
|
|
|
135
140
|
case 'typescript:build': {
|
|
136
|
-
installNodeDeps();
|
|
137
141
|
buildTypescript({ force: true });
|
|
138
142
|
|
|
139
143
|
break;
|
|
140
144
|
}
|
|
141
145
|
|
|
142
146
|
case 'typescript:watch': {
|
|
143
|
-
|
|
144
|
-
executeCmd(`tsc --watch ${args}`);
|
|
147
|
+
watchTypescript();
|
|
145
148
|
|
|
146
149
|
break;
|
|
147
150
|
}
|
|
@@ -203,7 +206,6 @@ async function run() {
|
|
|
203
206
|
}
|
|
204
207
|
|
|
205
208
|
case 'test:node': {
|
|
206
|
-
buildTypescript({ force: false });
|
|
207
209
|
testNode();
|
|
208
210
|
|
|
209
211
|
break;
|
|
@@ -216,7 +218,6 @@ async function run() {
|
|
|
216
218
|
}
|
|
217
219
|
|
|
218
220
|
case 'coverage:node': {
|
|
219
|
-
buildTypescript({ force: false });
|
|
220
221
|
executeCmd(`jest --coverage ${args}`);
|
|
221
222
|
executeCmd('open-cli coverage/lcov-report/index.html');
|
|
222
223
|
|
|
@@ -317,8 +318,7 @@ function installInvoke() {
|
|
|
317
318
|
// Install pip invoke into custom location, so we don't depend on system-wide
|
|
318
319
|
// installation.
|
|
319
320
|
executeCmd(
|
|
320
|
-
`"${PYTHON}" -m pip install --upgrade --no-user --target "${PIP_INVOKE_DIR}" invoke
|
|
321
|
-
/* exitOnError */ true
|
|
321
|
+
`"${PYTHON}" -m pip install --upgrade --no-user --target "${PIP_INVOKE_DIR}" invoke`
|
|
322
322
|
);
|
|
323
323
|
}
|
|
324
324
|
|
|
@@ -332,7 +332,7 @@ function deleteNodeLib() {
|
|
|
332
332
|
fs.rmSync('node/lib', { recursive: true, force: true });
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
function buildTypescript({ force
|
|
335
|
+
function buildTypescript({ force }) {
|
|
336
336
|
if (!force && fs.existsSync('node/lib')) {
|
|
337
337
|
return;
|
|
338
338
|
}
|
|
@@ -340,7 +340,16 @@ function buildTypescript({ force = false } = { force: false }) {
|
|
|
340
340
|
logInfo('buildTypescript()');
|
|
341
341
|
|
|
342
342
|
deleteNodeLib();
|
|
343
|
-
|
|
343
|
+
|
|
344
|
+
executeCmd(`tsc ${args}`);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
function watchTypescript() {
|
|
348
|
+
logInfo('watchTypescript()');
|
|
349
|
+
|
|
350
|
+
deleteNodeLib();
|
|
351
|
+
|
|
352
|
+
executeCmd(`tsc --watch ${args}`);
|
|
344
353
|
}
|
|
345
354
|
|
|
346
355
|
function buildWorker() {
|
|
@@ -358,8 +367,10 @@ function cleanWorkerArtifacts() {
|
|
|
358
367
|
|
|
359
368
|
// Clean build artifacts except `mediasoup-worker`.
|
|
360
369
|
executeCmd(`"${PYTHON}" -m invoke -r worker clean-build`);
|
|
370
|
+
|
|
361
371
|
// Clean downloaded dependencies.
|
|
362
372
|
executeCmd(`"${PYTHON}" -m invoke -r worker clean-subprojects`);
|
|
373
|
+
|
|
363
374
|
// Clean PIP/Meson/Ninja.
|
|
364
375
|
executeCmd(`"${PYTHON}" -m invoke -r worker clean-pip`);
|
|
365
376
|
}
|
|
@@ -470,6 +481,7 @@ function installNodeDeps() {
|
|
|
470
481
|
|
|
471
482
|
// Install/update Node deps.
|
|
472
483
|
executeCmd('npm ci --ignore-scripts');
|
|
484
|
+
|
|
473
485
|
// Update package-lock.json.
|
|
474
486
|
executeCmd('npm install --package-lock-only --ignore-scripts');
|
|
475
487
|
}
|
|
@@ -679,19 +691,15 @@ async function getVersionChanges() {
|
|
|
679
691
|
);
|
|
680
692
|
}
|
|
681
693
|
|
|
682
|
-
function executeCmd(command
|
|
694
|
+
function executeCmd(command) {
|
|
683
695
|
logInfo(`executeCmd(): ${command}`);
|
|
684
696
|
|
|
685
697
|
try {
|
|
686
698
|
execSync(command, { stdio: ['ignore', process.stdout, process.stderr] });
|
|
687
699
|
} catch (error) {
|
|
688
|
-
|
|
689
|
-
logError(`executeCmd() failed, exiting: ${error}`);
|
|
700
|
+
logError(`executeCmd() failed, exiting: ${error}`);
|
|
690
701
|
|
|
691
|
-
|
|
692
|
-
} else {
|
|
693
|
-
logInfo(`executeCmd() failed, ignoring: ${error}`);
|
|
694
|
-
}
|
|
702
|
+
exitWithError();
|
|
695
703
|
}
|
|
696
704
|
}
|
|
697
705
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup",
|
|
3
|
-
"version": "3.15.
|
|
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"
|
|
@@ -72,33 +88,6 @@
|
|
|
72
88
|
"release:check": "node npm-scripts.mjs release:check",
|
|
73
89
|
"release": "node npm-scripts.mjs release"
|
|
74
90
|
},
|
|
75
|
-
"jest": {
|
|
76
|
-
"verbose": true,
|
|
77
|
-
"testEnvironment": "node",
|
|
78
|
-
"testRegex": "node/src/test/test-.*\\.ts",
|
|
79
|
-
"transform": {
|
|
80
|
-
"^.*\\.ts$": [
|
|
81
|
-
"ts-jest",
|
|
82
|
-
{
|
|
83
|
-
"diagnostics": {
|
|
84
|
-
"ignoreCodes": [
|
|
85
|
-
"TS151001"
|
|
86
|
-
]
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
-
},
|
|
91
|
-
"coveragePathIgnorePatterns": [
|
|
92
|
-
"node/src/fbs",
|
|
93
|
-
"node/src/test"
|
|
94
|
-
],
|
|
95
|
-
"cacheDirectory": ".cache/jest",
|
|
96
|
-
"modulePathIgnorePatterns": [
|
|
97
|
-
"worker",
|
|
98
|
-
"rust",
|
|
99
|
-
"target"
|
|
100
|
-
]
|
|
101
|
-
},
|
|
102
91
|
"dependencies": {
|
|
103
92
|
"@types/ini": "^4.1.1",
|
|
104
93
|
"debug": "^4.4.0",
|
|
@@ -110,15 +99,15 @@
|
|
|
110
99
|
"tar": "^7.4.3"
|
|
111
100
|
},
|
|
112
101
|
"devDependencies": {
|
|
113
|
-
"@eslint/js": "^9.
|
|
102
|
+
"@eslint/js": "^9.23.0",
|
|
114
103
|
"@octokit/rest": "^21.1.1",
|
|
115
104
|
"@types/debug": "^4.1.12",
|
|
116
105
|
"@types/jest": "^29.5.14",
|
|
117
|
-
"@types/node": "^22.13.
|
|
118
|
-
"eslint": "^9.
|
|
106
|
+
"@types/node": "^22.13.13",
|
|
107
|
+
"eslint": "^9.23.0",
|
|
119
108
|
"eslint-config-prettier": "^10.1.1",
|
|
120
109
|
"eslint-plugin-jest": "^28.11.0",
|
|
121
|
-
"eslint-plugin-prettier": "^5.2.
|
|
110
|
+
"eslint-plugin-prettier": "^5.2.4",
|
|
122
111
|
"globals": "^16.0.0",
|
|
123
112
|
"jest": "^29.7.0",
|
|
124
113
|
"marked": "^15.0.7",
|
|
@@ -126,8 +115,8 @@
|
|
|
126
115
|
"pick-port": "^2.1.0",
|
|
127
116
|
"prettier": "^3.5.3",
|
|
128
117
|
"sctp": "^1.0.0",
|
|
129
|
-
"ts-jest": "^29.
|
|
118
|
+
"ts-jest": "^29.3.0",
|
|
130
119
|
"typescript": "^5.8.2",
|
|
131
|
-
"typescript-eslint": "^8.
|
|
120
|
+
"typescript-eslint": "^8.28.0"
|
|
132
121
|
}
|
|
133
122
|
}
|