mediasfu-shared 1.2.0 → 1.2.2
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/CHANGELOG.md +15 -0
- package/README.md +145 -131
- package/dist/consumers/connectIps.d.ts.map +1 -1
- package/dist/consumers/index.cjs +1 -1
- package/dist/consumers/index.js +1 -1
- package/dist/{getParticipantMedia-CdcYqcbD.cjs → getParticipantMedia-BH3d_-Q1.cjs} +4 -4
- package/dist/getParticipantMedia-BH3d_-Q1.cjs.map +1 -0
- package/dist/{getParticipantMedia-B0JS6d2b.js → getParticipantMedia-CGqnSb93.js} +4 -4
- package/dist/getParticipantMedia-CGqnSb93.js.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.js +4 -4
- package/dist/index.native.cjs +3 -3
- package/dist/index.native.js +3 -3
- package/dist/{joinLocalRoom-CvteNe4R.js → joinLocalRoom-7ibqv7zZ.js} +2 -2
- package/dist/{joinLocalRoom-CvteNe4R.js.map → joinLocalRoom-7ibqv7zZ.js.map} +1 -1
- package/dist/{joinLocalRoom-BdM1msQt.cjs → joinLocalRoom-BJBDvTYh.cjs} +2 -2
- package/dist/{joinLocalRoom-BdM1msQt.cjs.map → joinLocalRoom-BJBDvTYh.cjs.map} +1 -1
- package/dist/methods/recording/startRecording.d.ts.map +1 -1
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.js +2 -2
- package/dist/{updateParticipantAudioDecibels-DLd8Y-Fh.js → updateParticipantAudioDecibels-C_MygF6q.js} +45 -5
- package/dist/updateParticipantAudioDecibels-C_MygF6q.js.map +1 -0
- package/dist/{updateParticipantAudioDecibels-DPmHiy3K.cjs → updateParticipantAudioDecibels-bZ6R8WHj.cjs} +45 -5
- package/dist/updateParticipantAudioDecibels-bZ6R8WHj.cjs.map +1 -0
- package/package.json +2 -1
- package/src/consumers/connectIps.ts +68 -8
- package/src/methods/recording/startRecording.ts +7 -1
- package/dist/getParticipantMedia-B0JS6d2b.js.map +0 -1
- package/dist/getParticipantMedia-CdcYqcbD.cjs.map +0 -1
- package/dist/updateParticipantAudioDecibels-DLd8Y-Fh.js.map +0 -1
- package/dist/updateParticipantAudioDecibels-DPmHiy3K.cjs.map +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.2.2 — 2026-09-16
|
|
4
|
+
|
|
5
|
+
- 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.
|
|
6
|
+
|
|
7
|
+
## 1.2.1 — 2026-09-03
|
|
8
|
+
|
|
9
|
+
- Publish the serialized consume-socket setup fix from the 1.2.0 development line, including safe retry handling after a failed connection attempt.
|
|
10
|
+
|
|
11
|
+
## 1.2.0 — 2026-09-03
|
|
12
|
+
|
|
13
|
+
- Serialize concurrent consume-socket setup for the same room and endpoint. This prevents duplicate consume sockets during overlapping room/media updates while preserving independent sockets for separate rooms or nodes.
|
|
14
|
+
- Keep the framework-neutral runtime, native entry point, and generated declaration outputs aligned for React, Vue, Angular, React Native, Expo, and other SDK adapters.
|
|
15
|
+
- Remove duplicate Vite entry declarations so release builds are warning-free.
|
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# mediasfu-shared — framework-neutral MediaSFU engine
|
|
2
|
-
|
|
3
|
-
**mediasfu-shared** is the framework-agnostic WebRTC runtime at the core of the MediaSFU SDK family. It provides shared room helpers, mediasoup signaling, socket management, media state utilities, and TypeScript types for React, Vue, Angular, Svelte, and plain TypeScript. Install with `npm install mediasfu-shared`.
|
|
4
|
-
|
|
5
|
-
<p align="center">
|
|
6
|
-
<a href="https://www.mediasfu.com/quick-usage">
|
|
7
|
-
<img src="https://raw.githubusercontent.com/MediaSFU/MediaSFU-Shared/main/public/readme/mediasfu-platform-capabilities.webp" width="1100" alt="MediaSFU real-time product capabilities including meetings, live broadcasts, classrooms, calling, recording, agents, and live commerce" />
|
|
8
|
-
</a>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
This package exposes framework-neutral room, media, participant, playback, and headless helpers. It does not render a room or provide a framework state controller. Choose a framework SDK when you want prebuilt UI, `ModernMediasfuGeneric`, UI overrides, or a framework-native headless hook or service.
|
|
1
|
+
# mediasfu-shared — framework-neutral MediaSFU engine
|
|
2
|
+
|
|
3
|
+
**mediasfu-shared** is the framework-agnostic WebRTC runtime at the core of the MediaSFU SDK family. It provides shared room helpers, mediasoup signaling, socket management, media state utilities, and TypeScript types for React, Vue, Angular, Svelte, and plain TypeScript. Install with `npm install mediasfu-shared`.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.mediasfu.com/quick-usage">
|
|
7
|
+
<img src="https://raw.githubusercontent.com/MediaSFU/MediaSFU-Shared/main/public/readme/mediasfu-platform-capabilities.webp" width="1100" alt="MediaSFU real-time product capabilities including meetings, live broadcasts, classrooms, calling, recording, agents, and live commerce" />
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
This package exposes framework-neutral room, media, participant, playback, and headless helpers. It does not render a room or provide a framework state controller. Choose a framework SDK when you want prebuilt UI, `ModernMediasfuGeneric`, UI overrides, or a framework-native headless hook or service.
|
|
12
12
|
|
|
13
13
|
## When To Use This Package
|
|
14
14
|
|
|
@@ -26,104 +26,104 @@ npm install mediasfu-shared mediasoup-client socket.io-client
|
|
|
26
26
|
|
|
27
27
|
`mediasoup-client` and `socket.io-client` are peer dependencies, so install them in the host app.
|
|
28
28
|
|
|
29
|
-
## Backend requirement and credential boundary
|
|
30
|
-
|
|
31
|
-
The Cloud room helpers target `https://mediasfu.com/v1/rooms/` by default.
|
|
32
|
-
|
|
33
|
-
- Use **MediaSFU Cloud** when you want managed room creation, signaling, and media routing.
|
|
34
|
-
- Use **MediaSFU Open** when you want your own locally or privately running MediaSFU media server. You install and operate [MediaSFU Open](https://github.com/MediaSFU/MediaSFUOpen), then configure its reachable URL.
|
|
35
|
-
|
|
36
|
-
In production, create and join rooms through your authenticated backend so the MediaSFU API username and key never enter a browser or mobile bundle. Direct credentials are suitable only for an ignored, private local-development environment.
|
|
37
|
-
|
|
38
|
-
## Server-side room bootstrap
|
|
39
|
-
|
|
40
|
-
The following shape belongs in a trusted server process. Validate and authorize the caller, load credentials from server-side environment configuration, and return only the client-safe room/session fields your application needs.
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
import {
|
|
44
|
-
createRoomOnMediaSFU,
|
|
45
|
-
} from 'mediasfu-shared';
|
|
46
|
-
|
|
47
|
-
export async function createRoomForAuthenticatedUser(userName: string) {
|
|
48
|
-
return createRoomOnMediaSFU({
|
|
49
|
-
payload: {
|
|
50
|
-
action: 'create',
|
|
51
|
-
userName,
|
|
52
|
-
duration: 60,
|
|
53
|
-
capacity: 10,
|
|
54
|
-
},
|
|
55
|
-
apiUserName: process.env.MEDIASFU_API_USERNAME ?? '',
|
|
56
|
-
apiKey: process.env.MEDIASFU_API_KEY ?? '',
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Headless state and actions
|
|
62
|
-
|
|
63
|
-
`mediasfu-shared` exports the framework-independent headless helpers used by the
|
|
64
|
-
React Native, Expo, Vue, and Angular adapters. The package does not mount a room
|
|
65
|
-
component by itself: pass it the newest parameter bag published by your chosen
|
|
66
|
-
framework SDK.
|
|
67
|
-
|
|
68
|
-
```ts
|
|
69
|
-
import {
|
|
70
|
-
getCurrentParams,
|
|
71
|
-
getRoomReadiness,
|
|
72
|
-
getLocalVideoStream,
|
|
73
|
-
listParticipantMediaStates,
|
|
74
|
-
runMediaControl,
|
|
75
|
-
type HeadlessParameters,
|
|
76
|
-
} from 'mediasfu-shared';
|
|
77
|
-
|
|
78
|
-
let parameters: HeadlessParameters = {};
|
|
79
|
-
|
|
80
|
-
export function acceptPublishedParameters(next: HeadlessParameters) {
|
|
81
|
-
parameters = next;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export function readRoom() {
|
|
85
|
-
const current = getCurrentParams({ parameters });
|
|
86
|
-
return {
|
|
87
|
-
readiness: getRoomReadiness({ parameters: current }),
|
|
88
|
-
localVideo: getLocalVideoStream({ parameters: current }),
|
|
89
|
-
participants: listParticipantMediaStates({ parameters: current }),
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export async function toggleMicrophone() {
|
|
94
|
-
return runMediaControl({ parameters, control: 'clickAudio' });
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Always replace the stored bag when the framework publishes a new one. Do not
|
|
99
|
-
hold an earlier snapshot: the SDK reassigns fields as room state changes.
|
|
100
|
-
`getCurrentParams()` is a pure read. `getUpdatedAllParams()` republishes and
|
|
101
|
-
must not be used by render functions, computed values, or polling timers.
|
|
102
|
-
|
|
103
|
-
The headless barrel also exports media-stream resolution, participant state,
|
|
104
|
-
permissions, moderation, recording/polls/whiteboard/breakout controls, session
|
|
105
|
-
extras, playback/viewer capabilities, and media-production helpers. The native
|
|
106
|
-
entry omits the DOM-only virtual-background pipeline; use the native SDK's
|
|
107
|
-
platform implementation instead.
|
|
108
|
-
|
|
109
|
-
### Browser virtual backgrounds
|
|
110
|
-
|
|
111
|
-
For a browser headless wrapper, apply a background after the camera is live and
|
|
112
|
-
keep rendering the stream returned by the SDK's current parameter bag:
|
|
113
|
-
|
|
114
|
-
```ts
|
|
115
|
-
import { applyVirtualBackground, clearVirtualBackground } from 'mediasfu-shared';
|
|
116
|
-
|
|
117
|
-
await applyVirtualBackground({ parameters, image: '/backgrounds/studio.jpg' });
|
|
118
|
-
// On removal, the producer is restored to the raw camera track.
|
|
119
|
-
await clearVirtualBackground({ parameters });
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
The helper uses the same segmentation/compositing contract as the React modal,
|
|
123
|
-
isolates processing tracks, and updates `virtualStream`/`processedStream` for
|
|
124
|
-
the self-view. Native builds intentionally omit this browser-only pipeline.
|
|
125
|
-
|
|
126
|
-
For lifecycle ownership, media resolution, independent audio rendering, publication scheduling, and teardown guidance, read [Building a Headless MediaSFU Wrapper](HEADLESS_GUIDE.md).
|
|
29
|
+
## Backend requirement and credential boundary
|
|
30
|
+
|
|
31
|
+
The Cloud room helpers target `https://mediasfu.com/v1/rooms/` by default.
|
|
32
|
+
|
|
33
|
+
- Use **MediaSFU Cloud** when you want managed room creation, signaling, and media routing.
|
|
34
|
+
- Use **MediaSFU Open** when you want your own locally or privately running MediaSFU media server. You install and operate [MediaSFU Open](https://github.com/MediaSFU/MediaSFUOpen), then configure its reachable URL.
|
|
35
|
+
|
|
36
|
+
In production, create and join rooms through your authenticated backend so the MediaSFU API username and key never enter a browser or mobile bundle. Direct credentials are suitable only for an ignored, private local-development environment.
|
|
37
|
+
|
|
38
|
+
## Server-side room bootstrap
|
|
39
|
+
|
|
40
|
+
The following shape belongs in a trusted server process. Validate and authorize the caller, load credentials from server-side environment configuration, and return only the client-safe room/session fields your application needs.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import {
|
|
44
|
+
createRoomOnMediaSFU,
|
|
45
|
+
} from 'mediasfu-shared';
|
|
46
|
+
|
|
47
|
+
export async function createRoomForAuthenticatedUser(userName: string) {
|
|
48
|
+
return createRoomOnMediaSFU({
|
|
49
|
+
payload: {
|
|
50
|
+
action: 'create',
|
|
51
|
+
userName,
|
|
52
|
+
duration: 60,
|
|
53
|
+
capacity: 10,
|
|
54
|
+
},
|
|
55
|
+
apiUserName: process.env.MEDIASFU_API_USERNAME ?? '',
|
|
56
|
+
apiKey: process.env.MEDIASFU_API_KEY ?? '',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Headless state and actions
|
|
62
|
+
|
|
63
|
+
`mediasfu-shared` exports the framework-independent headless helpers used by the
|
|
64
|
+
React Native, Expo, Vue, and Angular adapters. The package does not mount a room
|
|
65
|
+
component by itself: pass it the newest parameter bag published by your chosen
|
|
66
|
+
framework SDK.
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import {
|
|
70
|
+
getCurrentParams,
|
|
71
|
+
getRoomReadiness,
|
|
72
|
+
getLocalVideoStream,
|
|
73
|
+
listParticipantMediaStates,
|
|
74
|
+
runMediaControl,
|
|
75
|
+
type HeadlessParameters,
|
|
76
|
+
} from 'mediasfu-shared';
|
|
77
|
+
|
|
78
|
+
let parameters: HeadlessParameters = {};
|
|
79
|
+
|
|
80
|
+
export function acceptPublishedParameters(next: HeadlessParameters) {
|
|
81
|
+
parameters = next;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function readRoom() {
|
|
85
|
+
const current = getCurrentParams({ parameters });
|
|
86
|
+
return {
|
|
87
|
+
readiness: getRoomReadiness({ parameters: current }),
|
|
88
|
+
localVideo: getLocalVideoStream({ parameters: current }),
|
|
89
|
+
participants: listParticipantMediaStates({ parameters: current }),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export async function toggleMicrophone() {
|
|
94
|
+
return runMediaControl({ parameters, control: 'clickAudio' });
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Always replace the stored bag when the framework publishes a new one. Do not
|
|
99
|
+
hold an earlier snapshot: the SDK reassigns fields as room state changes.
|
|
100
|
+
`getCurrentParams()` is a pure read. `getUpdatedAllParams()` republishes and
|
|
101
|
+
must not be used by render functions, computed values, or polling timers.
|
|
102
|
+
|
|
103
|
+
The headless barrel also exports media-stream resolution, participant state,
|
|
104
|
+
permissions, moderation, recording/polls/whiteboard/breakout controls, session
|
|
105
|
+
extras, playback/viewer capabilities, and media-production helpers. The native
|
|
106
|
+
entry omits the DOM-only virtual-background pipeline; use the native SDK's
|
|
107
|
+
platform implementation instead.
|
|
108
|
+
|
|
109
|
+
### Browser virtual backgrounds
|
|
110
|
+
|
|
111
|
+
For a browser headless wrapper, apply a background after the camera is live and
|
|
112
|
+
keep rendering the stream returned by the SDK's current parameter bag:
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
import { applyVirtualBackground, clearVirtualBackground } from 'mediasfu-shared';
|
|
116
|
+
|
|
117
|
+
await applyVirtualBackground({ parameters, image: '/backgrounds/studio.jpg' });
|
|
118
|
+
// On removal, the producer is restored to the raw camera track.
|
|
119
|
+
await clearVirtualBackground({ parameters });
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The helper uses the same segmentation/compositing contract as the React modal,
|
|
123
|
+
isolates processing tracks, and updates `virtualStream`/`processedStream` for
|
|
124
|
+
the self-view. Native builds intentionally omit this browser-only pipeline.
|
|
125
|
+
|
|
126
|
+
For lifecycle ownership, media resolution, independent audio rendering, publication scheduling, and teardown guidance, read [Building a Headless MediaSFU Wrapper](HEADLESS_GUIDE.md).
|
|
127
127
|
|
|
128
128
|
## Import Paths
|
|
129
129
|
|
|
@@ -132,13 +132,14 @@ For lifecycle ownership, media resolution, independent audio rendering, publicat
|
|
|
132
132
|
- `mediasfu-shared/methods` is useful when you want action utilities and room helpers.
|
|
133
133
|
- `mediasfu-shared/types` is useful when you only need TypeScript contracts.
|
|
134
134
|
|
|
135
|
-
## Documentation
|
|
136
|
-
|
|
137
|
-
- Shared/headless guide: [HEADLESS_GUIDE.md](HEADLESS_GUIDE.md)
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
135
|
+
## Documentation
|
|
136
|
+
|
|
137
|
+
- Shared/headless guide: [HEADLESS_GUIDE.md](HEADLESS_GUIDE.md)
|
|
138
|
+
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
139
|
+
- Main developer docs: [https://mediasfu.com/documentation](https://mediasfu.com/documentation)
|
|
140
|
+
- API Sandbox: [https://mediasfu.com/sandbox](https://mediasfu.com/sandbox)
|
|
141
|
+
- Secure backend proxy guide: [https://mediasfu.com/docs/usage/secure-backend-proxy/](https://mediasfu.com/docs/usage/secure-backend-proxy/)
|
|
142
|
+
- MediaSFU Open / CE: [https://github.com/MediaSFU/MediaSFUOpen](https://github.com/MediaSFU/MediaSFUOpen)
|
|
142
143
|
|
|
143
144
|
Generate package-local API docs with:
|
|
144
145
|
|
|
@@ -153,24 +154,37 @@ npm run build-docs
|
|
|
153
154
|
| [mediasfu-reactjs](https://github.com/MediaSFU/MediaSFU-ReactJS) | React 18/19 | [`npm install mediasfu-reactjs`](https://www.npmjs.com/package/mediasfu-reactjs) |
|
|
154
155
|
| [mediasfu-vue](https://github.com/MediaSFU/MediaSFU-Vue) | Vue 3 / Composition API | [`npm install mediasfu-vue`](https://www.npmjs.com/package/mediasfu-vue) |
|
|
155
156
|
| [mediasfu-angular](https://github.com/MediaSFU/MediaSFU-Angular) | Angular 17/18/19 | [`npm install mediasfu-angular`](https://www.npmjs.com/package/mediasfu-angular) |
|
|
156
|
-
| [mediasfu-reactnative](https://
|
|
157
|
+
| [mediasfu-reactnative](https://github.com/MediaSFU/MediaSFU-ReactNative) | React Native | [`npm install mediasfu-reactnative`](https://www.npmjs.com/package/mediasfu-reactnative) |
|
|
158
|
+
| [mediasfu-reactnative-expo](https://github.com/MediaSFU/MediaSFU-ReactNative-Expo) | Expo | [`npm install mediasfu-reactnative-expo`](https://www.npmjs.com/package/mediasfu-reactnative-expo) |
|
|
159
|
+
|
|
160
|
+
## Troubleshooting
|
|
161
|
+
|
|
162
|
+
| What you see | Likely cause | What to do |
|
|
163
|
+
|---|---|---|
|
|
164
|
+
| "Unable to connect. Check your credentials and try again." | The room service rejected the credentials, or your create/join backend returned an error. | Check the API username and key on your server, and make sure your create/join adapters pass the room service's response through. For MediaSFU Open, confirm that `localLink` points to a server the client can reach. |
|
|
165
|
+
| The camera or microphone never starts | A browser page is not a secure context, or a device permission was denied. | On the web, serve the app over HTTPS (or `localhost` during development). On iOS and Android, declare camera and microphone permissions and grant access in the device settings. |
|
|
166
|
+
| "You must turn on your video before you can start recording" | The recording is set to capture video while your camera is off. | Turn the camera on first, or switch the recording to audio only. The same applies to audio recordings and the microphone. |
|
|
167
|
+
| "You can only re-configure recording after pausing it" | Recording settings are locked while a recording is running. | Pause the recording, change the settings, then resume. |
|
|
168
|
+
| "You cannot turn off your camera while recording video…" | Turning the camera off would interrupt the recording. | Pause or stop the recording first. |
|
|
169
|
+
| A message ending in "Access denied by host." | The host has restricted that action for participants. | Ask the host to change the participant's permissions. |
|
|
170
|
+
| "Screen share is not allowed when whiteboard is active" | Screen sharing and the whiteboard cannot run at the same time. | Close the whiteboard, then start screen sharing. |
|
|
157
171
|
|
|
158
172
|
## Support
|
|
159
173
|
|
|
160
174
|
- GitHub issues: [https://github.com/MediaSFU/MediaSFU-Shared/issues](https://github.com/MediaSFU/MediaSFU-Shared/issues)
|
|
161
175
|
- Email: info@mediasfu.com
|
|
162
176
|
|
|
163
|
-
## Host leave and rejoin
|
|
164
|
-
|
|
165
|
-
Host exits still end the room by default. To leave while keeping the room, timer, and other participants active, pass `endRoomOnHostExit: false`:
|
|
166
|
-
|
|
167
|
-
```ts
|
|
168
|
-
await confirmExit({ socket, member, roomName, endRoomOnHostExit: false });
|
|
169
|
-
await leaveRoom({ parameters, endRoomOnHostExit: false });
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
The host can later rejoin with the normal room credentials. Never expose production API credentials in a client application; use your backend room proxy outside local development.
|
|
173
|
-
|
|
174
|
-
## License
|
|
175
|
-
|
|
176
|
-
MIT. See [LICENSE](LICENSE).
|
|
177
|
+
## Host leave and rejoin
|
|
178
|
+
|
|
179
|
+
Host exits still end the room by default. To leave while keeping the room, timer, and other participants active, pass `endRoomOnHostExit: false`:
|
|
180
|
+
|
|
181
|
+
```ts
|
|
182
|
+
await confirmExit({ socket, member, roomName, endRoomOnHostExit: false });
|
|
183
|
+
await leaveRoom({ parameters, endRoomOnHostExit: false });
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The host can later rejoin with the normal room credentials. Never expose production API credentials in a client application; use your backend room proxy outside local development.
|
|
187
|
+
|
|
188
|
+
## License
|
|
189
|
+
|
|
190
|
+
MIT. See [LICENSE](LICENSE).
|
|
@@ -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;
|
|
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"}
|
package/dist/consumers/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const updateParticipantAudioDecibels = require("../updateParticipantAudioDecibels-
|
|
3
|
+
const updateParticipantAudioDecibels = require("../updateParticipantAudioDecibels-bZ6R8WHj.cjs");
|
|
4
4
|
const translationConsumerSwitch = require("../translationConsumerSwitch-C20MfNNq.cjs");
|
|
5
5
|
exports.autoAdjust = updateParticipantAudioDecibels.autoAdjust;
|
|
6
6
|
exports.calculateRowsAndColumns = updateParticipantAudioDecibels.calculateRowsAndColumns;
|
package/dist/consumers/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
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";
|
|
3
3
|
export {
|
|
4
4
|
Y as autoAdjust,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const joinLocalRoom = require("./joinLocalRoom-
|
|
3
|
-
const updateParticipantAudioDecibels = require("./updateParticipantAudioDecibels-
|
|
2
|
+
const joinLocalRoom = require("./joinLocalRoom-BJBDvTYh.cjs");
|
|
3
|
+
const updateParticipantAudioDecibels = require("./updateParticipantAudioDecibels-bZ6R8WHj.cjs");
|
|
4
4
|
const launchBackground = ({
|
|
5
5
|
updateIsBackgroundModalVisible,
|
|
6
6
|
isBackgroundModalVisible
|
|
@@ -999,7 +999,7 @@ const startRecording = async ({
|
|
|
999
999
|
updateEndReport(endReport);
|
|
1000
1000
|
updateRecordPaused(recordPaused);
|
|
1001
1001
|
if (action === "startRecord") {
|
|
1002
|
-
await rePort({ parameters: parameters.getUpdatedAllParams() });
|
|
1002
|
+
await rePort({ restart: true, parameters: parameters.getUpdatedAllParams() });
|
|
1003
1003
|
await recordStartTimer({ parameters });
|
|
1004
1004
|
} else {
|
|
1005
1005
|
updateRecordResumed(true);
|
|
@@ -3551,4 +3551,4 @@ exports.switchVideo = switchVideo;
|
|
|
3551
3551
|
exports.switchVideoAlt = switchVideoAlt;
|
|
3552
3552
|
exports.updateRecording = updateRecording;
|
|
3553
3553
|
exports.voteInRoomPoll = voteInRoomPoll;
|
|
3554
|
-
//# sourceMappingURL=getParticipantMedia-
|
|
3554
|
+
//# sourceMappingURL=getParticipantMedia-BH3d_-Q1.cjs.map
|