mediasfu-shared 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/audioProcessing-0z5KlcmO.js +35 -0
  3. package/dist/audioProcessing-0z5KlcmO.js.map +1 -0
  4. package/dist/audioProcessing-BpbrdCk-.cjs +34 -0
  5. package/dist/audioProcessing-BpbrdCk-.cjs.map +1 -0
  6. package/dist/consumers/audioProcessing.d.ts +8 -0
  7. package/dist/consumers/audioProcessing.d.ts.map +1 -0
  8. package/dist/consumers/connectIps.d.ts.map +1 -1
  9. package/dist/consumers/createSendTransport.d.ts.map +1 -1
  10. package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts +6 -0
  11. package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts.map +1 -1
  12. package/dist/consumers/index.cjs +3 -2
  13. package/dist/consumers/index.cjs.map +1 -1
  14. package/dist/consumers/index.js +14 -13
  15. package/dist/consumers/signalNewConsumerTransport.d.ts.map +1 -1
  16. package/dist/consumers/switchUserAudio.d.ts +3 -1
  17. package/dist/consumers/switchUserAudio.d.ts.map +1 -1
  18. package/dist/consumers/transportRecovery.d.ts +8 -0
  19. package/dist/consumers/transportRecovery.d.ts.map +1 -0
  20. package/dist/{getParticipantMedia-BH3d_-Q1.cjs → getParticipantMedia-CP4hE5Rg.cjs} +9 -4
  21. package/dist/getParticipantMedia-CP4hE5Rg.cjs.map +1 -0
  22. package/dist/{getParticipantMedia-CGqnSb93.js → getParticipantMedia-CvXdDj03.js} +9 -4
  23. package/dist/getParticipantMedia-CvXdDj03.js.map +1 -0
  24. package/dist/index.cjs +138 -25
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +205 -92
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.native.cjs +8 -7
  31. package/dist/index.native.cjs.map +1 -1
  32. package/dist/index.native.js +19 -18
  33. package/dist/{joinLocalRoom-7ibqv7zZ.js → joinLocalRoom-Cx1y3Ojj.js} +4 -4
  34. package/dist/{joinLocalRoom-7ibqv7zZ.js.map → joinLocalRoom-Cx1y3Ojj.js.map} +1 -1
  35. package/dist/{joinLocalRoom-BJBDvTYh.cjs → joinLocalRoom-DNJ2zb8W.cjs} +10 -10
  36. package/dist/{joinLocalRoom-BJBDvTYh.cjs.map → joinLocalRoom-DNJ2zb8W.cjs.map} +1 -1
  37. package/dist/{joinRoomOnMediaSFU-y6vJ1OBo.js → joinRoomOnMediaSFU-BnAWLciF.js} +9 -3
  38. package/dist/joinRoomOnMediaSFU-BnAWLciF.js.map +1 -0
  39. package/dist/{joinRoomOnMediaSFU-CC8RVJgr.cjs → joinRoomOnMediaSFU-D2C7q1GK.cjs} +9 -3
  40. package/dist/joinRoomOnMediaSFU-D2C7q1GK.cjs.map +1 -0
  41. package/dist/methods/index.cjs +3 -3
  42. package/dist/methods/index.js +3 -3
  43. package/dist/methods/stream/clickAudio.d.ts +3 -1
  44. package/dist/methods/stream/clickAudio.d.ts.map +1 -1
  45. package/dist/methods/stream/switchAudio.d.ts +3 -1
  46. package/dist/methods/stream/switchAudio.d.ts.map +1 -1
  47. package/dist/methods/utils/headless/virtualBackground.d.ts +15 -1
  48. package/dist/methods/utils/headless/virtualBackground.d.ts.map +1 -1
  49. package/dist/methods/utils/virtualBackgroundCompositor.d.ts +4 -0
  50. package/dist/methods/utils/virtualBackgroundCompositor.d.ts.map +1 -1
  51. package/dist/methods/utils/virtualBackgroundFrameLoop.d.ts +10 -0
  52. package/dist/methods/utils/virtualBackgroundFrameLoop.d.ts.map +1 -0
  53. package/dist/sockets/SocketManager.d.ts +0 -27
  54. package/dist/sockets/SocketManager.d.ts.map +1 -1
  55. package/dist/{translationConsumerSwitch-C20MfNNq.cjs → translationConsumerSwitch-BAsQUpH6.cjs} +9 -1
  56. package/dist/translationConsumerSwitch-BAsQUpH6.cjs.map +1 -0
  57. package/dist/{translationConsumerSwitch-zKuS5wgH.js → translationConsumerSwitch-BUODiT6o.js} +20 -12
  58. package/dist/translationConsumerSwitch-BUODiT6o.js.map +1 -0
  59. package/dist/types/index.cjs +3 -3
  60. package/dist/types/index.js +3 -3
  61. package/dist/types/shared-base-types.d.ts +12 -0
  62. package/dist/types/shared-base-types.d.ts.map +1 -1
  63. package/dist/{updateParticipantAudioDecibels-bZ6R8WHj.cjs → updateParticipantAudioDecibels-BJ2PxJJD.cjs} +287 -58
  64. package/dist/updateParticipantAudioDecibels-BJ2PxJJD.cjs.map +1 -0
  65. package/dist/{updateParticipantAudioDecibels-C_MygF6q.js → updateParticipantAudioDecibels-DiJ_LFfH.js} +284 -55
  66. package/dist/updateParticipantAudioDecibels-DiJ_LFfH.js.map +1 -0
  67. package/package.json +1 -1
  68. package/src/consumers/audioProcessing.ts +26 -0
  69. package/src/consumers/connectIps.ts +46 -7
  70. package/src/consumers/createSendTransport.ts +5 -20
  71. package/src/consumers/gridLayout/addVideosGrid.engine.ts +13 -0
  72. package/src/consumers/signalNewConsumerTransport.ts +7 -25
  73. package/src/consumers/switchUserAudio.ts +18 -5
  74. package/src/consumers/transportRecovery.ts +170 -0
  75. package/src/index.ts +2 -0
  76. package/src/methods/stream/clickAudio.ts +13 -5
  77. package/src/methods/stream/switchAudio.ts +10 -1
  78. package/src/methods/utils/headless/virtualBackground.ts +55 -15
  79. package/src/methods/utils/virtualBackgroundCompositor.ts +18 -1
  80. package/src/methods/utils/virtualBackgroundFrameLoop.ts +69 -0
  81. package/src/sockets/SocketManager.ts +54 -7
  82. package/src/types/shared-base-types.ts +3 -0
  83. package/dist/getParticipantMedia-BH3d_-Q1.cjs.map +0 -1
  84. package/dist/getParticipantMedia-CGqnSb93.js.map +0 -1
  85. package/dist/joinRoomOnMediaSFU-CC8RVJgr.cjs.map +0 -1
  86. package/dist/joinRoomOnMediaSFU-y6vJ1OBo.js.map +0 -1
  87. package/dist/translationConsumerSwitch-C20MfNNq.cjs.map +0 -1
  88. package/dist/translationConsumerSwitch-zKuS5wgH.js.map +0 -1
  89. package/dist/updateParticipantAudioDecibels-C_MygF6q.js.map +0 -1
  90. package/dist/updateParticipantAudioDecibels-bZ6R8WHj.cjs.map +0 -1
  91. package/dist/validateAlphanumeric-DKn5BsUP.cjs +0 -15
  92. package/dist/validateAlphanumeric-DKn5BsUP.cjs.map +0 -1
  93. package/dist/validateAlphanumeric-Dk1JB80W.js +0 -16
  94. package/dist/validateAlphanumeric-Dk1JB80W.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.3 — 2026-09-21
4
+
5
+ - Fixed consume-socket lifecycle cleanup for all dependent SDKs: failed joins are disposed, dead endpoint entries are pruned before reconnecting, disconnects remove their endpoint registration, and failed handshakes cannot leave auto-reconnecting orphan sockets.
6
+ - Added the framework-neutral web virtual-background blur contract, including a stable `"blur"` selection value, configurable blur strength, edge-bleed compositing, and an `applyBackgroundBlur` headless helper for web SDK adapters.
7
+
3
8
  ## 1.2.2 — 2026-09-16
4
9
 
5
10
  - Report the room layout to the recording service as soon as a recording starts. Previously the first layout update waited for a participant or screen change, so the start of a recording could use a stale layout. This applies to every SDK built on this runtime.
@@ -0,0 +1,35 @@
1
+ const validateAlphanumeric = async ({ str }) => {
2
+ let code, i, len;
3
+ for (i = 0, len = str.length; i < len; i++) {
4
+ code = str.charCodeAt(i);
5
+ if (!(code > 47 && code < 58) && // numeric (0-9)
6
+ !(code > 64 && code < 91) && // upper alpha (A-Z)
7
+ !(code > 96 && code < 123)) {
8
+ return false;
9
+ }
10
+ }
11
+ return true;
12
+ };
13
+ function audioProcessingConstraints(options) {
14
+ const result = {};
15
+ if (options === void 0) return result;
16
+ if (!options || typeof options !== "object" || Array.isArray(options)) throw new TypeError("Invalid audioProcessing");
17
+ for (const key of Object.keys(options)) {
18
+ if (!["echoCancellation", "noiseSuppression", "autoGainControl"].includes(key)) throw new TypeError("Unsupported audioProcessing option");
19
+ const value = options[key];
20
+ if (value !== void 0 && typeof value !== "boolean") throw new TypeError("Audio processing options must be boolean");
21
+ if (value !== void 0) result[key] = value;
22
+ }
23
+ return result;
24
+ }
25
+ async function applyAudioProcessing(track, options) {
26
+ const selected = audioProcessingConstraints(options);
27
+ if (!Object.keys(selected).length) return;
28
+ await track.applyConstraints({ ...track.getConstraints(), ...selected });
29
+ }
30
+ export {
31
+ applyAudioProcessing as a,
32
+ audioProcessingConstraints as b,
33
+ validateAlphanumeric as v
34
+ };
35
+ //# sourceMappingURL=audioProcessing-0z5KlcmO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioProcessing-0z5KlcmO.js","sources":["../src/methods/utils/validateAlphanumeric.ts","../src/consumers/audioProcessing.ts"],"sourcesContent":["\nexport interface ValidateAlphanumericOptions {\n str: string;\n}\n\n// Export the type definition for the function\nexport type ValidateAlphanumericType = (options: ValidateAlphanumericOptions) => Promise<boolean>;\n\n/**\n * Validates if the given string contains only alphanumeric characters.\n *\n * @param {ValidateAlphanumericOptions} options - The options containing the string to validate.\n * @param {string} options.str - The string to be validated.\n * @returns {Promise<boolean>} - A promise that resolves to `true` if the string is alphanumeric, otherwise `false`.\n * \n * @example\n * ```typescript \n * const isValid = await validateAlphanumeric({ str: \"abc123\" });\n * console.log(isValid);\n * // Output: true\n * ```\n */\n\n\nconst validateAlphanumeric = async ({ str }: ValidateAlphanumericOptions): Promise<boolean> => {\n let code: number, i: number, len: number;\n\n for (i = 0, len = str.length; i < len; i++) {\n code = str.charCodeAt(i);\n if (\n !(code > 47 && code < 58) && // numeric (0-9)\n !(code > 64 && code < 91) && // upper alpha (A-Z)\n !(code > 96 && code < 123) // lower alpha (a-z)\n ) {\n return false;\n }\n }\n return true;\n};\n\nexport { validateAlphanumeric };\n","export type AudioProcessingOptions = {\n echoCancellation?: boolean;\n noiseSuppression?: boolean;\n autoGainControl?: boolean;\n};\n\nexport function audioProcessingConstraints(options?: AudioProcessingOptions): MediaTrackConstraints {\n const result: MediaTrackConstraints = {};\n if (options === undefined) return result;\n if (!options || typeof options !== 'object' || Array.isArray(options)) throw new TypeError('Invalid audioProcessing');\n for (const key of Object.keys(options)) {\n if (!['echoCancellation', 'noiseSuppression', 'autoGainControl'].includes(key)) throw new TypeError('Unsupported audioProcessing option');\n const value = options[key as keyof AudioProcessingOptions];\n if (value !== undefined && typeof value !== 'boolean') throw new TypeError('Audio processing options must be boolean');\n if (value !== undefined) result[key as keyof AudioProcessingOptions] = value;\n }\n return result;\n}\n\n// applyConstraints replaces the constraint set: merge to retain device and\n// capture choices unrelated to the three processing preferences.\nexport async function applyAudioProcessing(track: MediaStreamTrack, options?: AudioProcessingOptions): Promise<void> {\n const selected = audioProcessingConstraints(options);\n if (!Object.keys(selected).length) return;\n await track.applyConstraints({ ...track.getConstraints(), ...selected });\n}\n"],"names":[],"mappings":"AAwBA,MAAM,uBAAuB,OAAO,EAAE,UAAyD;AAC7F,MAAI,MAAc,GAAW;AAE7B,OAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,WAAO,IAAI,WAAW,CAAC;AACvB,QACE,EAAE,OAAO,MAAM,OAAO;AAAA,IACtB,EAAE,OAAO,MAAM,OAAO;AAAA,IACtB,EAAE,OAAO,MAAM,OAAO,MACtB;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AChCO,SAAS,2BAA2B,SAAyD;AAClG,QAAM,SAAgC,CAAA;AACtC,MAAI,YAAY,OAAW,QAAO;AAClC,MAAI,CAAC,WAAW,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,EAAG,OAAM,IAAI,UAAU,yBAAyB;AACpH,aAAW,OAAO,OAAO,KAAK,OAAO,GAAG;AACtC,QAAI,CAAC,CAAC,oBAAoB,oBAAoB,iBAAiB,EAAE,SAAS,GAAG,EAAG,OAAM,IAAI,UAAU,oCAAoC;AACxI,UAAM,QAAQ,QAAQ,GAAmC;AACzD,QAAI,UAAU,UAAa,OAAO,UAAU,UAAW,OAAM,IAAI,UAAU,0CAA0C;AACrH,QAAI,UAAU,OAAW,QAAO,GAAmC,IAAI;AAAA,EACzE;AACA,SAAO;AACT;AAIA,eAAsB,qBAAqB,OAAyB,SAAiD;AACnH,QAAM,WAAW,2BAA2B,OAAO;AACnD,MAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAQ;AACnC,QAAM,MAAM,iBAAiB,EAAE,GAAG,MAAM,eAAA,GAAkB,GAAG,UAAU;AACzE;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ const validateAlphanumeric = async ({ str }) => {
3
+ let code, i, len;
4
+ for (i = 0, len = str.length; i < len; i++) {
5
+ code = str.charCodeAt(i);
6
+ if (!(code > 47 && code < 58) && // numeric (0-9)
7
+ !(code > 64 && code < 91) && // upper alpha (A-Z)
8
+ !(code > 96 && code < 123)) {
9
+ return false;
10
+ }
11
+ }
12
+ return true;
13
+ };
14
+ function audioProcessingConstraints(options) {
15
+ const result = {};
16
+ if (options === void 0) return result;
17
+ if (!options || typeof options !== "object" || Array.isArray(options)) throw new TypeError("Invalid audioProcessing");
18
+ for (const key of Object.keys(options)) {
19
+ if (!["echoCancellation", "noiseSuppression", "autoGainControl"].includes(key)) throw new TypeError("Unsupported audioProcessing option");
20
+ const value = options[key];
21
+ if (value !== void 0 && typeof value !== "boolean") throw new TypeError("Audio processing options must be boolean");
22
+ if (value !== void 0) result[key] = value;
23
+ }
24
+ return result;
25
+ }
26
+ async function applyAudioProcessing(track, options) {
27
+ const selected = audioProcessingConstraints(options);
28
+ if (!Object.keys(selected).length) return;
29
+ await track.applyConstraints({ ...track.getConstraints(), ...selected });
30
+ }
31
+ exports.applyAudioProcessing = applyAudioProcessing;
32
+ exports.audioProcessingConstraints = audioProcessingConstraints;
33
+ exports.validateAlphanumeric = validateAlphanumeric;
34
+ //# sourceMappingURL=audioProcessing-BpbrdCk-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioProcessing-BpbrdCk-.cjs","sources":["../src/methods/utils/validateAlphanumeric.ts","../src/consumers/audioProcessing.ts"],"sourcesContent":["\nexport interface ValidateAlphanumericOptions {\n str: string;\n}\n\n// Export the type definition for the function\nexport type ValidateAlphanumericType = (options: ValidateAlphanumericOptions) => Promise<boolean>;\n\n/**\n * Validates if the given string contains only alphanumeric characters.\n *\n * @param {ValidateAlphanumericOptions} options - The options containing the string to validate.\n * @param {string} options.str - The string to be validated.\n * @returns {Promise<boolean>} - A promise that resolves to `true` if the string is alphanumeric, otherwise `false`.\n * \n * @example\n * ```typescript \n * const isValid = await validateAlphanumeric({ str: \"abc123\" });\n * console.log(isValid);\n * // Output: true\n * ```\n */\n\n\nconst validateAlphanumeric = async ({ str }: ValidateAlphanumericOptions): Promise<boolean> => {\n let code: number, i: number, len: number;\n\n for (i = 0, len = str.length; i < len; i++) {\n code = str.charCodeAt(i);\n if (\n !(code > 47 && code < 58) && // numeric (0-9)\n !(code > 64 && code < 91) && // upper alpha (A-Z)\n !(code > 96 && code < 123) // lower alpha (a-z)\n ) {\n return false;\n }\n }\n return true;\n};\n\nexport { validateAlphanumeric };\n","export type AudioProcessingOptions = {\n echoCancellation?: boolean;\n noiseSuppression?: boolean;\n autoGainControl?: boolean;\n};\n\nexport function audioProcessingConstraints(options?: AudioProcessingOptions): MediaTrackConstraints {\n const result: MediaTrackConstraints = {};\n if (options === undefined) return result;\n if (!options || typeof options !== 'object' || Array.isArray(options)) throw new TypeError('Invalid audioProcessing');\n for (const key of Object.keys(options)) {\n if (!['echoCancellation', 'noiseSuppression', 'autoGainControl'].includes(key)) throw new TypeError('Unsupported audioProcessing option');\n const value = options[key as keyof AudioProcessingOptions];\n if (value !== undefined && typeof value !== 'boolean') throw new TypeError('Audio processing options must be boolean');\n if (value !== undefined) result[key as keyof AudioProcessingOptions] = value;\n }\n return result;\n}\n\n// applyConstraints replaces the constraint set: merge to retain device and\n// capture choices unrelated to the three processing preferences.\nexport async function applyAudioProcessing(track: MediaStreamTrack, options?: AudioProcessingOptions): Promise<void> {\n const selected = audioProcessingConstraints(options);\n if (!Object.keys(selected).length) return;\n await track.applyConstraints({ ...track.getConstraints(), ...selected });\n}\n"],"names":[],"mappings":";AAwBA,MAAM,uBAAuB,OAAO,EAAE,UAAyD;AAC7F,MAAI,MAAc,GAAW;AAE7B,OAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,WAAO,IAAI,WAAW,CAAC;AACvB,QACE,EAAE,OAAO,MAAM,OAAO;AAAA,IACtB,EAAE,OAAO,MAAM,OAAO;AAAA,IACtB,EAAE,OAAO,MAAM,OAAO,MACtB;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AChCO,SAAS,2BAA2B,SAAyD;AAClG,QAAM,SAAgC,CAAA;AACtC,MAAI,YAAY,OAAW,QAAO;AAClC,MAAI,CAAC,WAAW,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,EAAG,OAAM,IAAI,UAAU,yBAAyB;AACpH,aAAW,OAAO,OAAO,KAAK,OAAO,GAAG;AACtC,QAAI,CAAC,CAAC,oBAAoB,oBAAoB,iBAAiB,EAAE,SAAS,GAAG,EAAG,OAAM,IAAI,UAAU,oCAAoC;AACxI,UAAM,QAAQ,QAAQ,GAAmC;AACzD,QAAI,UAAU,UAAa,OAAO,UAAU,UAAW,OAAM,IAAI,UAAU,0CAA0C;AACrH,QAAI,UAAU,OAAW,QAAO,GAAmC,IAAI;AAAA,EACzE;AACA,SAAO;AACT;AAIA,eAAsB,qBAAqB,OAAyB,SAAiD;AACnH,QAAM,WAAW,2BAA2B,OAAO;AACnD,MAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAQ;AACnC,QAAM,MAAM,iBAAiB,EAAE,GAAG,MAAM,eAAA,GAAkB,GAAG,UAAU;AACzE;;;;"}
@@ -0,0 +1,8 @@
1
+ export type AudioProcessingOptions = {
2
+ echoCancellation?: boolean;
3
+ noiseSuppression?: boolean;
4
+ autoGainControl?: boolean;
5
+ };
6
+ export declare function audioProcessingConstraints(options?: AudioProcessingOptions): MediaTrackConstraints;
7
+ export declare function applyAudioProcessing(track: MediaStreamTrack, options?: AudioProcessingOptions): Promise<void>;
8
+ //# sourceMappingURL=audioProcessing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioProcessing.d.ts","sourceRoot":"","sources":["../../src/consumers/audioProcessing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,qBAAqB,CAWlG;AAID,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAInH"}
@@ -1 +1 @@
1
- {"version":3,"file":"connectIps.d.ts","sourceRoot":"","sources":["../../src/consumers/connectIps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,wBAAwB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAChH,wBAAwB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,aAAa,EACxF,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB;IACpJ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAGlE,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;IAChD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IAC5C,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAGD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AA2DxG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,eAAO,MAAM,UAAU,GAAU,wIAY9B,iBAAiB,KAAG,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAuF/D,CAAC"}
1
+ {"version":3,"file":"connectIps.d.ts","sourceRoot":"","sources":["../../src/consumers/connectIps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,wBAAwB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAChH,wBAAwB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,aAAa,EACxF,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB;IACpJ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAGlE,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;IAChD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IAC5C,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAGD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AA0ExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,eAAO,MAAM,UAAU,GAAU,wIAY9B,iBAAiB,KAAG,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CA+G/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSendTransport.d.ts","sourceRoot":"","sources":["../../src/consumers/createSendTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAkB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,6BAA8B,SAAQ,8BAA8B;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,sBAAsB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,EAAE,CAAC,iBAAiB,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACvE,4BAA4B,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,2BAA2B,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,KAAK,IAAI,CAAC;IAGvE,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;IACzD,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC7C,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AAGD,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA8I7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,eAAO,MAAM,mBAAmB,EAAE,uBAwIjC,CAAC"}
1
+ {"version":3,"file":"createSendTransport.d.ts","sourceRoot":"","sources":["../../src/consumers/createSendTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAkB,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,6BAA8B,SAAQ,8BAA8B;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,sBAAsB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uBAAuB,EAAE,CAAC,iBAAiB,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACvE,4BAA4B,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,2BAA2B,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,KAAK,IAAI,CAAC;IAGvE,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;IACzD,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC7C,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AAGD,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA0I7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,eAAO,MAAM,mBAAmB,EAAE,uBA4HjC,CAAC"}
@@ -11,6 +11,12 @@ export interface AddVideosGridPlan<T> {
11
11
  mainEntries: GridPlanEntry<T>[];
12
12
  altEntries: GridPlanEntry<T>[];
13
13
  }
14
+ /** A lone side-panel tile must remain fully visible during screen sharing. */
15
+ export declare function resolveSidePanelForceFullDisplay({ forceFullDisplay, screenShareActive, itemCount, }: {
16
+ forceFullDisplay: boolean;
17
+ screenShareActive: boolean;
18
+ itemCount: number;
19
+ }): boolean;
14
20
  /**
15
21
  * Pure planning engine for addVideosGrid.
16
22
  * Produces deterministic main/alt stream iteration plans without rendering concerns.
@@ -1 +1 @@
1
- {"version":3,"file":"addVideosGrid.engine.d.ts","sourceRoot":"","sources":["../../../src/consumers/gridLayout/addVideosGrid.engine.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,eAAe,EAAE,CAAC,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,eAAe,EACf,cAAc,EACd,QAAQ,GACT,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAiBzD"}
1
+ {"version":3,"file":"addVideosGrid.engine.d.ts","sourceRoot":"","sources":["../../../src/consumers/gridLayout/addVideosGrid.engine.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,eAAe,EAAE,CAAC,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC;AAED,8EAA8E;AAC9E,wBAAgB,gCAAgC,CAAC,EAC/C,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,EAAE;IACD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EACxC,eAAe,EACf,cAAc,EACd,QAAQ,GACT,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAiBzD"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const updateParticipantAudioDecibels = require("../updateParticipantAudioDecibels-bZ6R8WHj.cjs");
4
- const translationConsumerSwitch = require("../translationConsumerSwitch-C20MfNNq.cjs");
3
+ const updateParticipantAudioDecibels = require("../updateParticipantAudioDecibels-BJ2PxJJD.cjs");
4
+ const translationConsumerSwitch = require("../translationConsumerSwitch-BAsQUpH6.cjs");
5
5
  exports.autoAdjust = updateParticipantAudioDecibels.autoAdjust;
6
6
  exports.calculateRowsAndColumns = updateParticipantAudioDecibels.calculateRowsAndColumns;
7
7
  exports.changeVids = updateParticipantAudioDecibels.changeVids;
@@ -74,6 +74,7 @@ exports.isSpeakerInMyBreakoutRoom = translationConsumerSwitch.isSpeakerInMyBreak
74
74
  exports.pauseOriginalProducer = translationConsumerSwitch.pauseOriginalProducer;
75
75
  exports.resolveHostVideoStream = translationConsumerSwitch.resolveHostVideoStream;
76
76
  exports.resolveMainHostRenderMode = translationConsumerSwitch.resolveMainHostRenderMode;
77
+ exports.resolveSidePanelForceFullDisplay = translationConsumerSwitch.resolveSidePanelForceFullDisplay;
77
78
  exports.resumeOriginalProducer = translationConsumerSwitch.resumeOriginalProducer;
78
79
  exports.stopConsumingTranslation = translationConsumerSwitch.stopConsumingTranslation;
79
80
  exports.syncTranslationStateAfterBreakoutChange = translationConsumerSwitch.syncTranslationStateAfterBreakoutChange;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,12 +1,12 @@
1
- import { Y, Z, a, _, $, b, d, e, f, g, h, i, j, k, l, m, c, a0, n, o, p, q, r, s, a1, a2, a3, t, T, v, U, w, x, y, V, C, G, z, A, a4, B, D, E, F, a5, N, H, I, J, K, L, M, O, P, Q, R, S, u, a6, a7 } from "../updateParticipantAudioDecibels-C_MygF6q.js";
2
- import { b as b2, d as d2, c as c2, f as f2, e as e2, k as k2, j as j2, h as h2, i as i2, p as p2, a as a8, r as r2, g as g2, s as s2, l as l2 } from "../translationConsumerSwitch-zKuS5wgH.js";
1
+ import { Y, Z, a, _, $, b, d, e, f, g, h, i, j, k, l, m, c, a0, n, o, p, q, r, s, a1, a2, a3, t, T, v, U, w, x, y, V, C, G, z, A, a4, B, D, E, F, a5, N, H, I, J, K, L, M, O, P, Q, R, S, u, a6, a7 } from "../updateParticipantAudioDecibels-DiJ_LFfH.js";
2
+ import { b as b2, e as e2, d as d2, g as g2, f as f2, l as l2, k as k2, j as j2, i as i2, p as p2, c as c2, a as a8, r as r2, h as h2, s as s2, m as m2 } from "../translationConsumerSwitch-BUODiT6o.js";
3
3
  export {
4
4
  Y as autoAdjust,
5
5
  b2 as buildAddVideosGridPlan,
6
- d2 as buildMainHostCardPlan,
7
- c2 as buildMainScreenState,
8
- f2 as buildPrepopulateUserMediaPlan,
9
- e2 as buildScreenShareHostCardPlan,
6
+ e2 as buildMainHostCardPlan,
7
+ d2 as buildMainScreenState,
8
+ g2 as buildPrepopulateUserMediaPlan,
9
+ f2 as buildScreenShareHostCardPlan,
10
10
  Z as calculateRowsAndColumns,
11
11
  a as changeVids,
12
12
  _ as checkGrid,
@@ -29,14 +29,14 @@ export {
29
29
  p as disconnectSendTransportScreen,
30
30
  q as disconnectSendTransportVideo,
31
31
  r as dispStreams,
32
- k2 as findOriginalProducerForSpeaker,
32
+ l2 as findOriginalProducerForSpeaker,
33
33
  s as generatePageContent,
34
- j2 as getActiveTranslationConsumers,
34
+ k2 as getActiveTranslationConsumers,
35
35
  a1 as getEstimate,
36
36
  a2 as getPipedProducersAlt,
37
37
  a3 as getProducersPiped,
38
38
  t as getVideos,
39
- h2 as isConsumingTranslationForSpeaker,
39
+ j2 as isConsumingTranslationForSpeaker,
40
40
  i2 as isSpeakerInMyBreakoutRoom,
41
41
  T as joinConsumeRoom,
42
42
  v as mixStreams,
@@ -53,9 +53,10 @@ export {
53
53
  a4 as receiveRoomMessages,
54
54
  B as reorderStreams,
55
55
  D as requestScreenShare,
56
- a8 as resolveHostVideoStream,
57
- r2 as resolveMainHostRenderMode,
58
- g2 as resumeOriginalProducer,
56
+ c2 as resolveHostVideoStream,
57
+ a8 as resolveMainHostRenderMode,
58
+ r2 as resolveSidePanelForceFullDisplay,
59
+ h2 as resumeOriginalProducer,
59
60
  E as resumePauseAudioStreams,
60
61
  F as resumePauseStreams,
61
62
  a5 as resumeSendTransportAudio,
@@ -71,7 +72,7 @@ export {
71
72
  P as switchUserAudio,
72
73
  Q as switchUserVideo,
73
74
  R as switchUserVideoAlt,
74
- l2 as syncTranslationStateAfterBreakoutChange,
75
+ m2 as syncTranslationStateAfterBreakoutChange,
75
76
  S as trigger,
76
77
  u as updateMicLevel,
77
78
  a6 as updateMiniCardsGrid,
@@ -1 +1 @@
1
- {"version":3,"file":"signalNewConsumerTransport.d.ts","sourceRoot":"","sources":["../../src/consumers/signalNewConsumerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,wBAAwB,EAC5E,8BAA8B,EAAiC,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,oCAAqC,SAAQ,wBAAwB,EAAE,8BAA8B;IACpH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1D,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oCAAoC,CAAC;CAClD;AAGD,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAEtH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,eAAO,MAAM,0BAA0B,GAAU,mDAK9C,iCAAiC,KAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CA4G7D,CAAC"}
1
+ {"version":3,"file":"signalNewConsumerTransport.d.ts","sourceRoot":"","sources":["../../src/consumers/signalNewConsumerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,wBAAwB,EAC5E,8BAA8B,EAAiC,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,oCAAqC,SAAQ,wBAAwB,EAAE,8BAA8B;IACpH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1D,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oCAAoC,CAAC;CAClD;AAGD,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAEtH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,eAAO,MAAM,0BAA0B,GAAU,mDAK9C,iCAAiC,KAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAyF7D,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ShowAlert, StreamSuccessAudioSwitchType, RequestPermissionAudioType, StreamSuccessAudioSwitchParameters } from '../types/types';
2
+ import { AudioProcessingOptions } from './audioProcessing';
2
3
  export interface SwitchUserAudioParameters extends StreamSuccessAudioSwitchParameters {
3
4
  mediaDevices: MediaDevices;
4
5
  userDefaultAudioInputDevice: string;
@@ -12,6 +13,7 @@ export interface SwitchUserAudioParameters extends StreamSuccessAudioSwitchParam
12
13
  [key: string]: any;
13
14
  }
14
15
  export interface SwitchUserAudioOptions {
16
+ audioProcessing?: AudioProcessingOptions;
15
17
  audioPreference: string;
16
18
  parameters: SwitchUserAudioParameters;
17
19
  }
@@ -52,5 +54,5 @@ export type SwitchUserAudioType = (options: SwitchUserAudioOptions) => Promise<v
52
54
  * });
53
55
  * ```
54
56
  */
55
- export declare function switchUserAudio({ audioPreference, parameters }: SwitchUserAudioOptions): Promise<void>;
57
+ export declare function switchUserAudio({ audioPreference, parameters, audioProcessing }: SwitchUserAudioOptions): Promise<void>;
56
58
  //# sourceMappingURL=switchUserAudio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switchUserAudio.d.ts","sourceRoot":"","sources":["../../src/consumers/switchUserAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAGzI,MAAM,WAAW,yBAA0B,SAAQ,kCAAkC;IACnF,YAAY,EAAE,YAAY,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IACpC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iCAAiC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9D,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,oBAAoB,EAAE,OAAO,CAAC;IAE9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,yBAAyB,CAAC;CACvC;AAGD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,wBAAsB,eAAe,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE5G"}
1
+ {"version":3,"file":"switchUserAudio.d.ts","sourceRoot":"","sources":["../../src/consumers/switchUserAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAGzI,MAAM,WAAW,yBAA0B,SAAQ,kCAAkC;IACnF,YAAY,EAAE,YAAY,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IACpC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iCAAiC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9D,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,oBAAoB,EAAE,OAAO,CAAC;IAE9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,OAAO,EAAE,sBAAsB,EAA8B,MAAM,mBAAmB,CAAC;AAEvF,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,yBAAyB,CAAC;CACvC;AAGD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,wBAAsB,eAAe,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF7H"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bounded ICE recovery shared by sending and receiving transports.
3
+ * Keeps tracks/producers alive while ICE is restarted on both endpoints.
4
+ */
5
+ export declare function attachTransportRecovery(transport: any, socket: any, onFailure: () => void): () => void;
6
+ /** Clear publishing indicators only if this is still the active transport. */
7
+ export declare function clearFailedSendState(parameters: any, transport: any, local?: boolean): void;
8
+ //# sourceMappingURL=transportRecovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transportRecovery.d.ts","sourceRoot":"","sources":["../../src/consumers/transportRecovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,IAAI,cA8IzF;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,UAAQ,QAoBlF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
- const joinLocalRoom = require("./joinLocalRoom-BJBDvTYh.cjs");
3
- const updateParticipantAudioDecibels = require("./updateParticipantAudioDecibels-bZ6R8WHj.cjs");
2
+ const joinLocalRoom = require("./joinLocalRoom-DNJ2zb8W.cjs");
3
+ const audioProcessing = require("./audioProcessing-BpbrdCk-.cjs");
4
+ const updateParticipantAudioDecibels = require("./updateParticipantAudioDecibels-BJ2PxJJD.cjs");
4
5
  const launchBackground = ({
5
6
  updateIsBackgroundModalVisible,
6
7
  isBackgroundModalVisible
@@ -1326,6 +1327,7 @@ const launchSettings = ({ updateIsSettingsModalVisible, isSettingsModalVisible }
1326
1327
  };
1327
1328
  const switchAudio = async ({
1328
1329
  audioPreference,
1330
+ audioProcessing: audioProcessing$1,
1329
1331
  parameters
1330
1332
  }) => {
1331
1333
  let {
@@ -1343,8 +1345,11 @@ const switchAudio = async ({
1343
1345
  userDefaultAudioInputDevice = audioPreference;
1344
1346
  updateUserDefaultAudioInputDevice(userDefaultAudioInputDevice);
1345
1347
  if (defAudioID) {
1346
- await switchUserAudio({ audioPreference, parameters });
1348
+ await switchUserAudio({ audioPreference, parameters, audioProcessing: audioProcessing$1 });
1347
1349
  }
1350
+ } else if (audioProcessing$1 !== void 0) {
1351
+ const track = parameters.localStreamAudio?.getAudioTracks?.()[0] ?? parameters.localStream?.getAudioTracks?.()[0] ?? parameters.audioProducer?.track;
1352
+ if (track) await audioProcessing.applyAudioProcessing(track, audioProcessing$1);
1348
1353
  }
1349
1354
  };
1350
1355
  const switchVideo = async ({
@@ -3551,4 +3556,4 @@ exports.switchVideo = switchVideo;
3551
3556
  exports.switchVideoAlt = switchVideoAlt;
3552
3557
  exports.updateRecording = updateRecording;
3553
3558
  exports.voteInRoomPoll = voteInRoomPoll;
3554
- //# sourceMappingURL=getParticipantMedia-BH3d_-Q1.cjs.map
3559
+ //# sourceMappingURL=getParticipantMedia-CP4hE5Rg.cjs.map