@whereby.com/core 1.9.0 → 1.9.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/dist/index.cjs +82 -53
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +82 -53
- package/dist/legacy-esm.js +82 -53
- package/dist/redux/index.cjs +78 -54
- package/dist/redux/index.d.cts +5 -50
- package/dist/redux/index.d.mts +5 -50
- package/dist/redux/index.d.ts +5 -50
- package/dist/redux/index.js +79 -54
- package/dist/redux/index.mjs +79 -54
- package/package.json +4 -4
package/dist/legacy-esm.js
CHANGED
|
@@ -1156,7 +1156,7 @@ const createReactor = (selectors, callback) => {
|
|
|
1156
1156
|
});
|
|
1157
1157
|
};
|
|
1158
1158
|
|
|
1159
|
-
const coreVersion = "1.9.
|
|
1159
|
+
const coreVersion = "1.9.2";
|
|
1160
1160
|
|
|
1161
1161
|
const initialState$1 = {
|
|
1162
1162
|
displayName: null,
|
|
@@ -1726,7 +1726,7 @@ const doToggleCamera = createAppAsyncThunk("localMedia/doToggleCamera", (_1, _a)
|
|
|
1726
1726
|
else {
|
|
1727
1727
|
const constraintsOptions = selectLocalMediaConstraintsOptions(state);
|
|
1728
1728
|
const cameraDeviceId = selectCurrentCameraDeviceId(state);
|
|
1729
|
-
yield getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: false, videoId: cameraDeviceId, type: "exact" }), { replaceStream: stream });
|
|
1729
|
+
yield getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: false, videoId: cameraDeviceId || true, type: "exact" }), { replaceStream: stream });
|
|
1730
1730
|
track = stream.getVideoTracks()[0];
|
|
1731
1731
|
}
|
|
1732
1732
|
}
|
|
@@ -1791,7 +1791,6 @@ const doSetDevice = createAppAsyncThunk("localMedia/reactSetDevice", (_a, _b) =>
|
|
|
1791
1791
|
}
|
|
1792
1792
|
}));
|
|
1793
1793
|
const doUpdateDeviceList = createAppAsyncThunk("localMedia/doUpdateDeviceList", (_1, _a) => __awaiter(void 0, [_1, _a], void 0, function* (_, { getState, dispatch, rejectWithValue }) {
|
|
1794
|
-
var _b, _c, _d, _e;
|
|
1795
1794
|
const state = getState();
|
|
1796
1795
|
let newDevices = [];
|
|
1797
1796
|
let oldDevices = [];
|
|
@@ -1807,19 +1806,29 @@ const doUpdateDeviceList = createAppAsyncThunk("localMedia/doUpdateDeviceList",
|
|
|
1807
1806
|
if (!shouldHandleDeviceUpdate) {
|
|
1808
1807
|
return { devices: newDevices };
|
|
1809
1808
|
}
|
|
1810
|
-
const {
|
|
1809
|
+
const { currentCameraDeviceId, currentMicrophoneDeviceId, currentSpeakerDeviceId } = state.localMedia;
|
|
1810
|
+
const { changedDevices, removedDevices } = getUpdatedDevices({
|
|
1811
1811
|
oldDevices,
|
|
1812
1812
|
newDevices,
|
|
1813
|
+
currentVideoId: currentCameraDeviceId,
|
|
1814
|
+
currentAudioId: currentMicrophoneDeviceId,
|
|
1815
|
+
currentSpeakerId: currentSpeakerDeviceId,
|
|
1813
1816
|
});
|
|
1814
|
-
let autoSwitchAudioId
|
|
1815
|
-
let autoSwitchVideoId
|
|
1816
|
-
if (
|
|
1817
|
-
autoSwitchAudioId =
|
|
1817
|
+
let autoSwitchAudioId;
|
|
1818
|
+
let autoSwitchVideoId;
|
|
1819
|
+
if (removedDevices.audioinput) {
|
|
1820
|
+
autoSwitchAudioId = true;
|
|
1818
1821
|
}
|
|
1819
|
-
if (
|
|
1820
|
-
autoSwitchVideoId =
|
|
1822
|
+
if (removedDevices.videoinput) {
|
|
1823
|
+
autoSwitchVideoId = true;
|
|
1821
1824
|
}
|
|
1822
|
-
if (autoSwitchAudioId
|
|
1825
|
+
if (!autoSwitchAudioId && changedDevices.audioinput) {
|
|
1826
|
+
autoSwitchAudioId = changedDevices.audioinput.deviceId;
|
|
1827
|
+
}
|
|
1828
|
+
if (!autoSwitchVideoId && changedDevices.videoinput) {
|
|
1829
|
+
autoSwitchVideoId = changedDevices.videoinput.deviceId;
|
|
1830
|
+
}
|
|
1831
|
+
if (autoSwitchAudioId || autoSwitchVideoId) {
|
|
1823
1832
|
dispatch(doSwitchLocalStream({ audioId: autoSwitchAudioId, videoId: autoSwitchVideoId }));
|
|
1824
1833
|
}
|
|
1825
1834
|
return { devices: newDevices };
|
|
@@ -1837,28 +1846,29 @@ const doSwitchLocalStream = createAppAsyncThunk("localMedia/doSwitchLocalStream"
|
|
|
1837
1846
|
return;
|
|
1838
1847
|
}
|
|
1839
1848
|
const beforeEffectTracks = selectLocalMediaBeforeEffectTracks(state);
|
|
1840
|
-
if (audioId
|
|
1849
|
+
if (audioId && (beforeEffectTracks === null || beforeEffectTracks === void 0 ? void 0 : beforeEffectTracks.audio)) {
|
|
1841
1850
|
beforeEffectTracks.audio.stop();
|
|
1842
1851
|
beforeEffectTracks.audio = undefined;
|
|
1843
1852
|
}
|
|
1844
|
-
if (videoId
|
|
1853
|
+
if (videoId && (beforeEffectTracks === null || beforeEffectTracks === void 0 ? void 0 : beforeEffectTracks.video)) {
|
|
1845
1854
|
beforeEffectTracks.video.stop();
|
|
1846
1855
|
beforeEffectTracks.video = undefined;
|
|
1847
1856
|
}
|
|
1848
1857
|
try {
|
|
1849
|
-
const { replacedTracks } = yield getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: audioId
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1858
|
+
const { replacedTracks, error } = yield getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: audioId || false, videoId: videoId || false, type: "exact" }), { replaceStream });
|
|
1859
|
+
if (error) {
|
|
1860
|
+
const deviceId = audioId || videoId;
|
|
1861
|
+
if (onlySwitchingOne && typeof deviceId === "string") {
|
|
1862
|
+
dispatch(deviceBusy({
|
|
1863
|
+
deviceId,
|
|
1864
|
+
}));
|
|
1865
|
+
}
|
|
1855
1866
|
}
|
|
1856
1867
|
return { replacedTracks, beforeEffectTracks };
|
|
1857
1868
|
}
|
|
1858
1869
|
catch (error) {
|
|
1859
|
-
console.error(error);
|
|
1860
1870
|
const deviceId = audioId || videoId;
|
|
1861
|
-
if (onlySwitchingOne && deviceId) {
|
|
1871
|
+
if (onlySwitchingOne && typeof deviceId === "string") {
|
|
1862
1872
|
dispatch(deviceBusy({
|
|
1863
1873
|
deviceId,
|
|
1864
1874
|
}));
|
|
@@ -1998,13 +2008,17 @@ createReactor([selectLocalMediaShouldStartWithOptions], ({ dispatch }, options)
|
|
|
1998
2008
|
dispatch(doStartLocalMedia(options));
|
|
1999
2009
|
}
|
|
2000
2010
|
});
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2011
|
+
startAppListening({
|
|
2012
|
+
predicate: (_action, currentState, previousState) => {
|
|
2013
|
+
const oldValue = selectAppIsActive(previousState);
|
|
2014
|
+
const newValue = selectAppIsActive(currentState);
|
|
2015
|
+
const localMediaOptions = selectLocalMediaOptions(currentState);
|
|
2016
|
+
const localMediaStatus = selectLocalMediaStatus(currentState);
|
|
2017
|
+
return (oldValue === true && newValue === false) && localMediaStatus !== "inactive" && !!localMediaOptions;
|
|
2018
|
+
},
|
|
2019
|
+
effect: (_, { dispatch }) => {
|
|
2006
2020
|
dispatch(doStopLocalMedia());
|
|
2007
|
-
}
|
|
2021
|
+
},
|
|
2008
2022
|
});
|
|
2009
2023
|
startAppListening({
|
|
2010
2024
|
predicate: (_action, currentState, previousState) => {
|
|
@@ -2045,10 +2059,25 @@ startAppListening({
|
|
|
2045
2059
|
});
|
|
2046
2060
|
startAppListening({
|
|
2047
2061
|
predicate: (_action, currentState, previousState) => {
|
|
2048
|
-
|
|
2049
|
-
const
|
|
2062
|
+
var _a, _b;
|
|
2063
|
+
const oldDeviceId = selectCurrentCameraDeviceId(previousState);
|
|
2064
|
+
const newDeviceId = selectCurrentCameraDeviceId(currentState);
|
|
2050
2065
|
const isReady = selectLocalMediaStatus(previousState) === "started";
|
|
2051
|
-
|
|
2066
|
+
const isSwitchingStream = selectLocalMediaIsSwitchingStream(currentState);
|
|
2067
|
+
if (isSwitchingStream) {
|
|
2068
|
+
return false;
|
|
2069
|
+
}
|
|
2070
|
+
if (!newDeviceId) {
|
|
2071
|
+
return false;
|
|
2072
|
+
}
|
|
2073
|
+
const currentTrack = (_b = (_a = selectLocalMediaStream(currentState)) === null || _a === void 0 ? void 0 : _a.getVideoTracks()) === null || _b === void 0 ? void 0 : _b[0];
|
|
2074
|
+
if (currentTrack && currentTrack.readyState === "live") {
|
|
2075
|
+
const currentDeviceId = currentTrack.getSettings().deviceId;
|
|
2076
|
+
if (currentDeviceId === newDeviceId) {
|
|
2077
|
+
return false;
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
return isReady && oldDeviceId !== newDeviceId;
|
|
2052
2081
|
},
|
|
2053
2082
|
effect: (_action, { dispatch }) => {
|
|
2054
2083
|
dispatch(doSetDevice({ audio: false, video: true }));
|
|
@@ -2056,10 +2085,25 @@ startAppListening({
|
|
|
2056
2085
|
});
|
|
2057
2086
|
startAppListening({
|
|
2058
2087
|
predicate: (_action, currentState, previousState) => {
|
|
2059
|
-
|
|
2060
|
-
const
|
|
2088
|
+
var _a, _b;
|
|
2089
|
+
const oldDeviceId = selectCurrentMicrophoneDeviceId(previousState);
|
|
2090
|
+
const newDeviceId = selectCurrentMicrophoneDeviceId(currentState);
|
|
2061
2091
|
const isReady = selectLocalMediaStatus(previousState) === "started";
|
|
2062
|
-
|
|
2092
|
+
const isSwitchingStream = selectLocalMediaIsSwitchingStream(currentState);
|
|
2093
|
+
if (isSwitchingStream) {
|
|
2094
|
+
return false;
|
|
2095
|
+
}
|
|
2096
|
+
if (!newDeviceId) {
|
|
2097
|
+
return false;
|
|
2098
|
+
}
|
|
2099
|
+
const currentTrack = (_b = (_a = selectLocalMediaStream(currentState)) === null || _a === void 0 ? void 0 : _a.getVideoTracks()) === null || _b === void 0 ? void 0 : _b[0];
|
|
2100
|
+
if (currentTrack && currentTrack.readyState === "live") {
|
|
2101
|
+
const currentDeviceId = currentTrack.getSettings().deviceId;
|
|
2102
|
+
if (currentDeviceId === newDeviceId) {
|
|
2103
|
+
return false;
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
return isReady && oldDeviceId !== newDeviceId;
|
|
2063
2107
|
},
|
|
2064
2108
|
effect: (_action, { dispatch }) => {
|
|
2065
2109
|
dispatch(doSetDevice({ audio: true, video: false }));
|
|
@@ -2878,15 +2922,6 @@ startAppListening({
|
|
|
2878
2922
|
},
|
|
2879
2923
|
});
|
|
2880
2924
|
|
|
2881
|
-
function isDeferrable({ client, breakoutCurrentId }) {
|
|
2882
|
-
if (!client)
|
|
2883
|
-
return false;
|
|
2884
|
-
if (!breakoutCurrentId && client.breakoutGroup)
|
|
2885
|
-
return true;
|
|
2886
|
-
if (!client.isAudioEnabled && !client.isVideoEnabled)
|
|
2887
|
-
return true;
|
|
2888
|
-
return false;
|
|
2889
|
-
}
|
|
2890
2925
|
const createWebRtcEmitter = (dispatch) => {
|
|
2891
2926
|
return {
|
|
2892
2927
|
emit: (eventName, data) => {
|
|
@@ -2974,22 +3009,12 @@ const doConnectRtc = createAppThunk(() => (dispatch, getState) => {
|
|
|
2974
3009
|
const state = getState();
|
|
2975
3010
|
const socket = selectSignalConnectionRaw(state).socket;
|
|
2976
3011
|
const dispatcher = selectRtcConnectionRaw(state).rtcManagerDispatcher;
|
|
2977
|
-
const isCameraEnabled = selectIsCameraEnabled(state);
|
|
2978
|
-
const isMicrophoneEnabled = selectIsMicrophoneEnabled(state);
|
|
2979
3012
|
const isNodeSdk = selectAppIsNodeSdk(state);
|
|
2980
3013
|
if (dispatcher || !socket) {
|
|
2981
3014
|
return;
|
|
2982
3015
|
}
|
|
2983
3016
|
const webrtcProvider = {
|
|
2984
|
-
getMediaConstraints: () => (
|
|
2985
|
-
audio: isMicrophoneEnabled,
|
|
2986
|
-
video: isCameraEnabled,
|
|
2987
|
-
}),
|
|
2988
|
-
deferrable(clientId) {
|
|
2989
|
-
const client = selectRemoteParticipants(getState()).find((p) => p.id === clientId);
|
|
2990
|
-
const breakoutCurrentId = selectBreakoutCurrentId(getState()) || "";
|
|
2991
|
-
return isDeferrable({ client, breakoutCurrentId });
|
|
2992
|
-
},
|
|
3017
|
+
getMediaConstraints: () => selectLocalMediaConstraintsOptions(state),
|
|
2993
3018
|
};
|
|
2994
3019
|
const rtcManagerDispatcher = new RtcManagerDispatcher({
|
|
2995
3020
|
emitter: createWebRtcEmitter(dispatch),
|
|
@@ -4619,6 +4644,10 @@ class LocalMediaClient extends BaseClient {
|
|
|
4619
4644
|
}
|
|
4620
4645
|
startMedia() {
|
|
4621
4646
|
return __awaiter(this, arguments, void 0, function* (options = { audio: true, video: true }) {
|
|
4647
|
+
const localMediaStatus = this.store.getState().localMedia.status;
|
|
4648
|
+
if (["started", "starting"].includes(localMediaStatus)) {
|
|
4649
|
+
return;
|
|
4650
|
+
}
|
|
4622
4651
|
return yield this.store.dispatch(doStartLocalMedia(options));
|
|
4623
4652
|
});
|
|
4624
4653
|
}
|
package/dist/redux/index.cjs
CHANGED
|
@@ -75,7 +75,7 @@ const createReactor = (selectors, callback) => {
|
|
|
75
75
|
});
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
-
const coreVersion = "1.9.
|
|
78
|
+
const coreVersion = "1.9.2";
|
|
79
79
|
|
|
80
80
|
const initialState$1 = {
|
|
81
81
|
displayName: null,
|
|
@@ -619,7 +619,7 @@ const doToggleCamera = createAppAsyncThunk("localMedia/doToggleCamera", (_1, _a)
|
|
|
619
619
|
else {
|
|
620
620
|
const constraintsOptions = selectLocalMediaConstraintsOptions(state);
|
|
621
621
|
const cameraDeviceId = selectCurrentCameraDeviceId(state);
|
|
622
|
-
yield media.getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: false, videoId: cameraDeviceId, type: "exact" }), { replaceStream: stream });
|
|
622
|
+
yield media.getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: false, videoId: cameraDeviceId || true, type: "exact" }), { replaceStream: stream });
|
|
623
623
|
track = stream.getVideoTracks()[0];
|
|
624
624
|
}
|
|
625
625
|
}
|
|
@@ -684,7 +684,6 @@ const doSetDevice = createAppAsyncThunk("localMedia/reactSetDevice", (_a, _b) =>
|
|
|
684
684
|
}
|
|
685
685
|
}));
|
|
686
686
|
const doUpdateDeviceList = createAppAsyncThunk("localMedia/doUpdateDeviceList", (_1, _a) => __awaiter(void 0, [_1, _a], void 0, function* (_, { getState, dispatch, rejectWithValue }) {
|
|
687
|
-
var _b, _c, _d, _e;
|
|
688
687
|
const state = getState();
|
|
689
688
|
let newDevices = [];
|
|
690
689
|
let oldDevices = [];
|
|
@@ -700,19 +699,29 @@ const doUpdateDeviceList = createAppAsyncThunk("localMedia/doUpdateDeviceList",
|
|
|
700
699
|
if (!shouldHandleDeviceUpdate) {
|
|
701
700
|
return { devices: newDevices };
|
|
702
701
|
}
|
|
703
|
-
const {
|
|
702
|
+
const { currentCameraDeviceId, currentMicrophoneDeviceId, currentSpeakerDeviceId } = state.localMedia;
|
|
703
|
+
const { changedDevices, removedDevices } = media.getUpdatedDevices({
|
|
704
704
|
oldDevices,
|
|
705
705
|
newDevices,
|
|
706
|
+
currentVideoId: currentCameraDeviceId,
|
|
707
|
+
currentAudioId: currentMicrophoneDeviceId,
|
|
708
|
+
currentSpeakerId: currentSpeakerDeviceId,
|
|
706
709
|
});
|
|
707
|
-
let autoSwitchAudioId
|
|
708
|
-
let autoSwitchVideoId
|
|
709
|
-
if (
|
|
710
|
-
autoSwitchAudioId =
|
|
710
|
+
let autoSwitchAudioId;
|
|
711
|
+
let autoSwitchVideoId;
|
|
712
|
+
if (removedDevices.audioinput) {
|
|
713
|
+
autoSwitchAudioId = true;
|
|
711
714
|
}
|
|
712
|
-
if (
|
|
713
|
-
autoSwitchVideoId =
|
|
715
|
+
if (removedDevices.videoinput) {
|
|
716
|
+
autoSwitchVideoId = true;
|
|
714
717
|
}
|
|
715
|
-
if (autoSwitchAudioId
|
|
718
|
+
if (!autoSwitchAudioId && changedDevices.audioinput) {
|
|
719
|
+
autoSwitchAudioId = changedDevices.audioinput.deviceId;
|
|
720
|
+
}
|
|
721
|
+
if (!autoSwitchVideoId && changedDevices.videoinput) {
|
|
722
|
+
autoSwitchVideoId = changedDevices.videoinput.deviceId;
|
|
723
|
+
}
|
|
724
|
+
if (autoSwitchAudioId || autoSwitchVideoId) {
|
|
716
725
|
dispatch(doSwitchLocalStream({ audioId: autoSwitchAudioId, videoId: autoSwitchVideoId }));
|
|
717
726
|
}
|
|
718
727
|
return { devices: newDevices };
|
|
@@ -730,28 +739,29 @@ const doSwitchLocalStream = createAppAsyncThunk("localMedia/doSwitchLocalStream"
|
|
|
730
739
|
return;
|
|
731
740
|
}
|
|
732
741
|
const beforeEffectTracks = selectLocalMediaBeforeEffectTracks(state);
|
|
733
|
-
if (audioId
|
|
742
|
+
if (audioId && (beforeEffectTracks === null || beforeEffectTracks === void 0 ? void 0 : beforeEffectTracks.audio)) {
|
|
734
743
|
beforeEffectTracks.audio.stop();
|
|
735
744
|
beforeEffectTracks.audio = undefined;
|
|
736
745
|
}
|
|
737
|
-
if (videoId
|
|
746
|
+
if (videoId && (beforeEffectTracks === null || beforeEffectTracks === void 0 ? void 0 : beforeEffectTracks.video)) {
|
|
738
747
|
beforeEffectTracks.video.stop();
|
|
739
748
|
beforeEffectTracks.video = undefined;
|
|
740
749
|
}
|
|
741
750
|
try {
|
|
742
|
-
const { replacedTracks } = yield media.getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: audioId
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
751
|
+
const { replacedTracks, error } = yield media.getStream(Object.assign(Object.assign({}, constraintsOptions), { audioId: audioId || false, videoId: videoId || false, type: "exact" }), { replaceStream });
|
|
752
|
+
if (error) {
|
|
753
|
+
const deviceId = audioId || videoId;
|
|
754
|
+
if (onlySwitchingOne && typeof deviceId === "string") {
|
|
755
|
+
dispatch(deviceBusy({
|
|
756
|
+
deviceId,
|
|
757
|
+
}));
|
|
758
|
+
}
|
|
748
759
|
}
|
|
749
760
|
return { replacedTracks, beforeEffectTracks };
|
|
750
761
|
}
|
|
751
762
|
catch (error) {
|
|
752
|
-
console.error(error);
|
|
753
763
|
const deviceId = audioId || videoId;
|
|
754
|
-
if (onlySwitchingOne && deviceId) {
|
|
764
|
+
if (onlySwitchingOne && typeof deviceId === "string") {
|
|
755
765
|
dispatch(deviceBusy({
|
|
756
766
|
deviceId,
|
|
757
767
|
}));
|
|
@@ -891,13 +901,17 @@ createReactor([selectLocalMediaShouldStartWithOptions], ({ dispatch }, options)
|
|
|
891
901
|
dispatch(doStartLocalMedia(options));
|
|
892
902
|
}
|
|
893
903
|
});
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
904
|
+
startAppListening({
|
|
905
|
+
predicate: (_action, currentState, previousState) => {
|
|
906
|
+
const oldValue = selectAppIsActive(previousState);
|
|
907
|
+
const newValue = selectAppIsActive(currentState);
|
|
908
|
+
const localMediaOptions = selectLocalMediaOptions(currentState);
|
|
909
|
+
const localMediaStatus = selectLocalMediaStatus(currentState);
|
|
910
|
+
return (oldValue === true && newValue === false) && localMediaStatus !== "inactive" && !!localMediaOptions;
|
|
911
|
+
},
|
|
912
|
+
effect: (_, { dispatch }) => {
|
|
899
913
|
dispatch(doStopLocalMedia());
|
|
900
|
-
}
|
|
914
|
+
},
|
|
901
915
|
});
|
|
902
916
|
startAppListening({
|
|
903
917
|
predicate: (_action, currentState, previousState) => {
|
|
@@ -938,10 +952,25 @@ startAppListening({
|
|
|
938
952
|
});
|
|
939
953
|
startAppListening({
|
|
940
954
|
predicate: (_action, currentState, previousState) => {
|
|
941
|
-
|
|
942
|
-
const
|
|
955
|
+
var _a, _b;
|
|
956
|
+
const oldDeviceId = selectCurrentCameraDeviceId(previousState);
|
|
957
|
+
const newDeviceId = selectCurrentCameraDeviceId(currentState);
|
|
943
958
|
const isReady = selectLocalMediaStatus(previousState) === "started";
|
|
944
|
-
|
|
959
|
+
const isSwitchingStream = selectLocalMediaIsSwitchingStream(currentState);
|
|
960
|
+
if (isSwitchingStream) {
|
|
961
|
+
return false;
|
|
962
|
+
}
|
|
963
|
+
if (!newDeviceId) {
|
|
964
|
+
return false;
|
|
965
|
+
}
|
|
966
|
+
const currentTrack = (_b = (_a = selectLocalMediaStream(currentState)) === null || _a === void 0 ? void 0 : _a.getVideoTracks()) === null || _b === void 0 ? void 0 : _b[0];
|
|
967
|
+
if (currentTrack && currentTrack.readyState === "live") {
|
|
968
|
+
const currentDeviceId = currentTrack.getSettings().deviceId;
|
|
969
|
+
if (currentDeviceId === newDeviceId) {
|
|
970
|
+
return false;
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
return isReady && oldDeviceId !== newDeviceId;
|
|
945
974
|
},
|
|
946
975
|
effect: (_action, { dispatch }) => {
|
|
947
976
|
dispatch(doSetDevice({ audio: false, video: true }));
|
|
@@ -949,10 +978,25 @@ startAppListening({
|
|
|
949
978
|
});
|
|
950
979
|
startAppListening({
|
|
951
980
|
predicate: (_action, currentState, previousState) => {
|
|
952
|
-
|
|
953
|
-
const
|
|
981
|
+
var _a, _b;
|
|
982
|
+
const oldDeviceId = selectCurrentMicrophoneDeviceId(previousState);
|
|
983
|
+
const newDeviceId = selectCurrentMicrophoneDeviceId(currentState);
|
|
954
984
|
const isReady = selectLocalMediaStatus(previousState) === "started";
|
|
955
|
-
|
|
985
|
+
const isSwitchingStream = selectLocalMediaIsSwitchingStream(currentState);
|
|
986
|
+
if (isSwitchingStream) {
|
|
987
|
+
return false;
|
|
988
|
+
}
|
|
989
|
+
if (!newDeviceId) {
|
|
990
|
+
return false;
|
|
991
|
+
}
|
|
992
|
+
const currentTrack = (_b = (_a = selectLocalMediaStream(currentState)) === null || _a === void 0 ? void 0 : _a.getVideoTracks()) === null || _b === void 0 ? void 0 : _b[0];
|
|
993
|
+
if (currentTrack && currentTrack.readyState === "live") {
|
|
994
|
+
const currentDeviceId = currentTrack.getSettings().deviceId;
|
|
995
|
+
if (currentDeviceId === newDeviceId) {
|
|
996
|
+
return false;
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
return isReady && oldDeviceId !== newDeviceId;
|
|
956
1000
|
},
|
|
957
1001
|
effect: (_action, { dispatch }) => {
|
|
958
1002
|
dispatch(doSetDevice({ audio: true, video: false }));
|
|
@@ -1784,15 +1828,6 @@ startAppListening({
|
|
|
1784
1828
|
},
|
|
1785
1829
|
});
|
|
1786
1830
|
|
|
1787
|
-
function isDeferrable({ client, breakoutCurrentId }) {
|
|
1788
|
-
if (!client)
|
|
1789
|
-
return false;
|
|
1790
|
-
if (!breakoutCurrentId && client.breakoutGroup)
|
|
1791
|
-
return true;
|
|
1792
|
-
if (!client.isAudioEnabled && !client.isVideoEnabled)
|
|
1793
|
-
return true;
|
|
1794
|
-
return false;
|
|
1795
|
-
}
|
|
1796
1831
|
const createWebRtcEmitter = (dispatch) => {
|
|
1797
1832
|
return {
|
|
1798
1833
|
emit: (eventName, data) => {
|
|
@@ -1880,22 +1915,12 @@ const doConnectRtc = createAppThunk(() => (dispatch, getState) => {
|
|
|
1880
1915
|
const state = getState();
|
|
1881
1916
|
const socket = selectSignalConnectionRaw(state).socket;
|
|
1882
1917
|
const dispatcher = selectRtcConnectionRaw(state).rtcManagerDispatcher;
|
|
1883
|
-
const isCameraEnabled = selectIsCameraEnabled(state);
|
|
1884
|
-
const isMicrophoneEnabled = selectIsMicrophoneEnabled(state);
|
|
1885
1918
|
const isNodeSdk = selectAppIsNodeSdk(state);
|
|
1886
1919
|
if (dispatcher || !socket) {
|
|
1887
1920
|
return;
|
|
1888
1921
|
}
|
|
1889
1922
|
const webrtcProvider = {
|
|
1890
|
-
getMediaConstraints: () => (
|
|
1891
|
-
audio: isMicrophoneEnabled,
|
|
1892
|
-
video: isCameraEnabled,
|
|
1893
|
-
}),
|
|
1894
|
-
deferrable(clientId) {
|
|
1895
|
-
const client = selectRemoteParticipants(getState()).find((p) => p.id === clientId);
|
|
1896
|
-
const breakoutCurrentId = selectBreakoutCurrentId(getState()) || "";
|
|
1897
|
-
return isDeferrable({ client, breakoutCurrentId });
|
|
1898
|
-
},
|
|
1923
|
+
getMediaConstraints: () => selectLocalMediaConstraintsOptions(state),
|
|
1899
1924
|
};
|
|
1900
1925
|
const rtcManagerDispatcher = new media.RtcManagerDispatcher({
|
|
1901
1926
|
emitter: createWebRtcEmitter(dispatch),
|
|
@@ -4219,7 +4244,6 @@ exports.selectLocalMediaOptions = selectLocalMediaOptions;
|
|
|
4219
4244
|
exports.selectLocalMediaOwnsStream = selectLocalMediaOwnsStream;
|
|
4220
4245
|
exports.selectLocalMediaRaw = selectLocalMediaRaw;
|
|
4221
4246
|
exports.selectLocalMediaShouldStartWithOptions = selectLocalMediaShouldStartWithOptions;
|
|
4222
|
-
exports.selectLocalMediaShouldStop = selectLocalMediaShouldStop;
|
|
4223
4247
|
exports.selectLocalMediaStartError = selectLocalMediaStartError;
|
|
4224
4248
|
exports.selectLocalMediaStatus = selectLocalMediaStatus;
|
|
4225
4249
|
exports.selectLocalMediaStream = selectLocalMediaStream;
|
package/dist/redux/index.d.cts
CHANGED
|
@@ -1789,8 +1789,8 @@ declare const localMediaSlice: _reduxjs_toolkit.Slice<LocalMediaState, {
|
|
|
1789
1789
|
}> | undefined;
|
|
1790
1790
|
};
|
|
1791
1791
|
localStreamMetadataUpdated(state: immer.WritableDraft<LocalMediaState>, action: PayloadAction<ReturnType<typeof getDeviceData>>): {
|
|
1792
|
-
currentCameraDeviceId: string;
|
|
1793
|
-
currentMicrophoneDeviceId: string;
|
|
1792
|
+
currentCameraDeviceId: string | undefined;
|
|
1793
|
+
currentMicrophoneDeviceId: string | undefined;
|
|
1794
1794
|
busyDeviceIds: string[];
|
|
1795
1795
|
cameraDeviceError?: unknown;
|
|
1796
1796
|
cameraEnabled: boolean;
|
|
@@ -1863,8 +1863,8 @@ declare const doSwitchLocalStream: _reduxjs_toolkit.AsyncThunk<{
|
|
|
1863
1863
|
video?: MediaStreamTrack;
|
|
1864
1864
|
} | undefined;
|
|
1865
1865
|
} | undefined, {
|
|
1866
|
-
audioId?: string |
|
|
1867
|
-
videoId?: string |
|
|
1866
|
+
audioId?: string | boolean;
|
|
1867
|
+
videoId?: string | boolean;
|
|
1868
1868
|
}, ThunkConfig>;
|
|
1869
1869
|
declare const doStartLocalMedia: _reduxjs_toolkit.AsyncThunk<{
|
|
1870
1870
|
stream: MediaStream;
|
|
@@ -2276,51 +2276,6 @@ declare const selectLocalMediaShouldStartWithOptions: ((state: {
|
|
|
2276
2276
|
argsMemoize: typeof reselect.weakMapMemoize;
|
|
2277
2277
|
memoize: typeof reselect.weakMapMemoize;
|
|
2278
2278
|
};
|
|
2279
|
-
declare const selectLocalMediaShouldStop: ((state: {
|
|
2280
|
-
app: AppState;
|
|
2281
|
-
authorization: AuthorizationState;
|
|
2282
|
-
breakout: BreakoutState;
|
|
2283
|
-
cameraEffects: CameraEffectsState;
|
|
2284
|
-
chat: ChatState;
|
|
2285
|
-
cloudRecording: CloudRecordingState;
|
|
2286
|
-
connectionMonitor: ConnectionMonitorState;
|
|
2287
|
-
deviceCredentials: DeviceCredentialsState;
|
|
2288
|
-
liveTranscription: LiveTranscriptionState;
|
|
2289
|
-
localMedia: LocalMediaState;
|
|
2290
|
-
localParticipant: LocalParticipantState;
|
|
2291
|
-
localScreenshare: LocalScreenshareState;
|
|
2292
|
-
notifications: NotificationsState;
|
|
2293
|
-
organization: OrganizationState;
|
|
2294
|
-
remoteParticipants: RemoteParticipantSliceState;
|
|
2295
|
-
room: RoomState;
|
|
2296
|
-
roomConnection: RoomConnectionState;
|
|
2297
|
-
rtcAnalytics: rtcAnalyticsState;
|
|
2298
|
-
rtcConnection: RtcConnectionState;
|
|
2299
|
-
signalConnection: SignalConnectionState;
|
|
2300
|
-
spotlights: SpotlightsState;
|
|
2301
|
-
streaming: StreamingState;
|
|
2302
|
-
waitingParticipants: WaitingParticipantsState;
|
|
2303
|
-
}) => boolean) & {
|
|
2304
|
-
clearCache: () => void;
|
|
2305
|
-
resultsCount: () => number;
|
|
2306
|
-
resetResultsCount: () => void;
|
|
2307
|
-
} & {
|
|
2308
|
-
resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: "error" | "inactive" | "stopped" | "starting" | "started", resultFuncArgs_2: LocalMediaOptions | undefined) => boolean;
|
|
2309
|
-
memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: "error" | "inactive" | "stopped" | "starting" | "started", resultFuncArgs_2: LocalMediaOptions | undefined) => boolean) & {
|
|
2310
|
-
clearCache: () => void;
|
|
2311
|
-
resultsCount: () => number;
|
|
2312
|
-
resetResultsCount: () => void;
|
|
2313
|
-
};
|
|
2314
|
-
lastResult: () => boolean;
|
|
2315
|
-
dependencies: [(state: RootState) => boolean, (state: RootState) => "error" | "inactive" | "stopped" | "starting" | "started", (state: RootState) => LocalMediaOptions | undefined];
|
|
2316
|
-
recomputations: () => number;
|
|
2317
|
-
resetRecomputations: () => void;
|
|
2318
|
-
dependencyRecomputations: () => number;
|
|
2319
|
-
resetDependencyRecomputations: () => void;
|
|
2320
|
-
} & {
|
|
2321
|
-
argsMemoize: typeof reselect.weakMapMemoize;
|
|
2322
|
-
memoize: typeof reselect.weakMapMemoize;
|
|
2323
|
-
};
|
|
2324
2279
|
|
|
2325
2280
|
interface OrganizationState {
|
|
2326
2281
|
data: Organization | null | undefined;
|
|
@@ -4966,5 +4921,5 @@ declare const selectRoomConnectionSessionId: (state: RootState) => string | unde
|
|
|
4966
4921
|
declare const selectRoomConnectionStatus: (state: RootState) => ConnectionStatus;
|
|
4967
4922
|
declare const selectRoomConnectionError: (state: RootState) => string | null;
|
|
4968
4923
|
|
|
4969
|
-
export { addAppListener, addSpotlight, appSlice, authorizationSlice, authorizationSliceInitialState, breakoutSlice, breakoutSliceInitialState, chatSlice, chatSliceInitialState, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorSliceInitialState, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, deviceBusy, deviceCredentialsSlice, deviceCredentialsSliceInitialState, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doBreakoutJoin, doCancelKnock, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLocalStreamEffect, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLiveTranscription, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLiveTranscription, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, initialCloudRecordingState, initialLiveTranscriptionState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, liveTranscriptionSlice, localMediaSlice, localMediaStopped, localParticipantSlice, localParticipantSliceInitialState, localScreenshareSlice, localScreenshareSliceInitialState, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, organizationSliceInitialState, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, remoteParticipantsSliceInitialState, removeSpotlight, resolutionReported, roomConnectionSlice, roomConnectionSliceInitialState, roomSlice, roomSliceInitialState, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcAnalyticsSliceInitialState, rtcClientConnectionStatusChanged, rtcConnectionSlice, rtcConnectionSliceInitialState, rtcDisconnected, rtcDispatcherCreated, rtcEvents, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAllClientViewsInCurrentGroup, selectAppDisplayName, selectAppExternalId, selectAppIgnoreBreakoutGroups, selectAppInitialConfig, selectAppIsActive, selectAppIsAssistant, selectAppIsAudioRecorder, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAssistantKey, selectAuthorizationRoleName, selectBreakoutActive, selectBreakoutAssignments, selectBreakoutCurrentGroup, selectBreakoutCurrentId, selectBreakoutGroupedParticipants, selectBreakoutGroups, selectBreakoutInitiatedBy, selectBreakoutRaw, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingIsInitiator, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLiveTranscription, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLiveTranscriptionError, selectLiveTranscriptionIsInitiator, selectLiveTranscriptionRaw, selectLiveTranscriptionStartedAt, selectLiveTranscriptionStatus, selectLocalMediaBeforeEffectTracks, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions,
|
|
4924
|
+
export { addAppListener, addSpotlight, appSlice, authorizationSlice, authorizationSliceInitialState, breakoutSlice, breakoutSliceInitialState, chatSlice, chatSliceInitialState, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorSliceInitialState, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, deviceBusy, deviceCredentialsSlice, deviceCredentialsSliceInitialState, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doBreakoutJoin, doCancelKnock, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLocalStreamEffect, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLiveTranscription, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLiveTranscription, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, initialCloudRecordingState, initialLiveTranscriptionState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, liveTranscriptionSlice, localMediaSlice, localMediaStopped, localParticipantSlice, localParticipantSliceInitialState, localScreenshareSlice, localScreenshareSliceInitialState, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, organizationSliceInitialState, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, remoteParticipantsSliceInitialState, removeSpotlight, resolutionReported, roomConnectionSlice, roomConnectionSliceInitialState, roomSlice, roomSliceInitialState, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcAnalyticsSliceInitialState, rtcClientConnectionStatusChanged, rtcConnectionSlice, rtcConnectionSliceInitialState, rtcDisconnected, rtcDispatcherCreated, rtcEvents, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAllClientViewsInCurrentGroup, selectAppDisplayName, selectAppExternalId, selectAppIgnoreBreakoutGroups, selectAppInitialConfig, selectAppIsActive, selectAppIsAssistant, selectAppIsAudioRecorder, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAssistantKey, selectAuthorizationRoleName, selectBreakoutActive, selectBreakoutAssignments, selectBreakoutCurrentGroup, selectBreakoutCurrentId, selectBreakoutGroupedParticipants, selectBreakoutGroups, selectBreakoutInitiatedBy, selectBreakoutRaw, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingIsInitiator, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLiveTranscription, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLiveTranscriptionError, selectLiveTranscriptionIsInitiator, selectLiveTranscriptionRaw, selectLiveTranscriptionStartedAt, selectLiveTranscriptionStatus, selectLocalMediaBeforeEffectTracks, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantBreakoutAssigned, selectLocalParticipantBreakoutGroup, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationPreferences, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setBreakoutGroupAssigned, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalConnectionSliceInitialState, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, spotlightsSliceInitialState, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, streamingSliceInitialState, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, transcribingRequestStarted, updateReportedValues, waitingParticipantsSlice, waitingParticipantsSliceInitialState };
|
|
4970
4925
|
export type { AppConfig, AppDispatch, AppReducer, AppStartListening, AppState, AppThunk, AuthorizationState, BreakoutState, ChatMessage, ChatMessageEvent, ChatMessageEventProps, ChatState, ClientView, CloudRecordingState, ConnectionMonitorStart, ConnectionMonitorState, ConnectionStatus, DeviceCredentialsState, LiveTranscriptionState, LocalMediaOptions, LocalMediaState, LocalParticipantState, LocalScreenshareState, Notification, NotificationEvent, NotificationEventMap, NotificationEvents, NotificationsEventEmitter, NotificationsState, OrganizationState, RemoteParticipantSliceState, RequestAudioEvent, RequestAudioEventProps, RequestVideoEvent, RequestVideoEventProps, RoomConnectionState, RoomState, RootState, RtcConnectionState, SignalClientEvent, SignalClientEventProps, SignalConnectionState, SignalStatusEvent, SignalStatusEventProps, SpotlightsState, StickyReactionEvent, StickyReactionEventProps, Store, StreamingState, ThunkConfig, WaitingParticipantsState, rtcAnalyticsState };
|