@stream-io/video-react-native-sdk 1.32.4 → 1.33.0

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 (38) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/commonjs/components/Participant/ParticipantView/ParticipantLabel.js +10 -1
  3. package/dist/commonjs/components/Participant/ParticipantView/ParticipantLabel.js.map +1 -1
  4. package/dist/commonjs/contexts/BackgroundFilters.js +50 -9
  5. package/dist/commonjs/contexts/BackgroundFilters.js.map +1 -1
  6. package/dist/commonjs/hooks/index.js +0 -11
  7. package/dist/commonjs/hooks/index.js.map +1 -1
  8. package/dist/commonjs/utils/internal/registerSDKGlobals.js +13 -0
  9. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  10. package/dist/commonjs/version.js +1 -1
  11. package/dist/module/components/Participant/ParticipantView/ParticipantLabel.js +12 -3
  12. package/dist/module/components/Participant/ParticipantView/ParticipantLabel.js.map +1 -1
  13. package/dist/module/contexts/BackgroundFilters.js +51 -10
  14. package/dist/module/contexts/BackgroundFilters.js.map +1 -1
  15. package/dist/module/hooks/index.js +0 -1
  16. package/dist/module/hooks/index.js.map +1 -1
  17. package/dist/module/utils/internal/registerSDKGlobals.js +13 -0
  18. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  19. package/dist/module/version.js +1 -1
  20. package/dist/typescript/components/Participant/ParticipantView/ParticipantLabel.d.ts.map +1 -1
  21. package/dist/typescript/contexts/BackgroundFilters.d.ts.map +1 -1
  22. package/dist/typescript/hooks/index.d.ts +0 -1
  23. package/dist/typescript/hooks/index.d.ts.map +1 -1
  24. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  25. package/dist/typescript/version.d.ts +1 -1
  26. package/package.json +6 -6
  27. package/src/components/Participant/ParticipantView/ParticipantLabel.tsx +24 -2
  28. package/src/contexts/BackgroundFilters.tsx +55 -9
  29. package/src/hooks/index.ts +0 -1
  30. package/src/utils/internal/registerSDKGlobals.ts +13 -0
  31. package/src/version.ts +1 -1
  32. package/dist/commonjs/hooks/useSpeechDetection.js +0 -39
  33. package/dist/commonjs/hooks/useSpeechDetection.js.map +0 -1
  34. package/dist/module/hooks/useSpeechDetection.js +0 -34
  35. package/dist/module/hooks/useSpeechDetection.js.map +0 -1
  36. package/dist/typescript/hooks/useSpeechDetection.d.ts +0 -8
  37. package/dist/typescript/hooks/useSpeechDetection.d.ts.map +0 -1
  38. package/src/hooks/useSpeechDetection.ts +0 -35
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.33.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.32.4...@stream-io/video-react-native-sdk-1.33.0) (2026-04-28)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/react-native-callingx` updated to version `0.1.1`
10
+ - `@stream-io/video-filters-react-native` updated to version `0.12.1`
11
+ - `@stream-io/video-client` updated to version `1.48.0`
12
+ - `@stream-io/video-react-bindings` updated to version `1.15.0`
13
+
14
+ ### Features
15
+
16
+ - audio connecting hook in bindings and RN UI ([#2214](https://github.com/GetStream/stream-video-js/issues/2214)) ([44c38fa](https://github.com/GetStream/stream-video-js/commit/44c38faaccb5327f6cd5cd6e70781bad93deafaf))
17
+ - **rn:** remove peer connection usage in speech detection ([#2200](https://github.com/GetStream/stream-video-js/issues/2200)) ([1c73d10](https://github.com/GetStream/stream-video-js/commit/1c73d10cc25761c08a8f9350e44137afaee33acf))
18
+
19
+ ### Bug Fixes
20
+
21
+ - **rn:** perf and stability fixes for video-filters ([#2216](https://github.com/GetStream/stream-video-js/issues/2216)) ([db1405b](https://github.com/GetStream/stream-video-js/commit/db1405b02a5745ee14a54a76a164c47ed59f56c6))
22
+
5
23
  ## [1.32.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.32.3...@stream-io/video-react-native-sdk-1.32.4) (2026-04-23)
6
24
 
7
25
  ### Bug Fixes
@@ -60,6 +60,7 @@ const ParticipantLabel = ({
60
60
  const isAudioMuted = !(0, _videoClient.hasAudio)(participant);
61
61
  const isVideoMuted = !(0, _videoClient.hasVideo)(participant);
62
62
  const isTrackPaused = trackType && (0, _videoClient.hasPausedTrack)(participant, trackType);
63
+ const isAudioConnecting = (0, _videoReactBindings.useIsAudioConnecting)(participant);
63
64
  if (trackType === 'screenShareTrack') {
64
65
  const screenShareText = isLocalParticipant ? t('You are sharing your screen') : t('{{ userName }} is sharing their screen', {
65
66
  userName: participantName
@@ -89,7 +90,11 @@ const ParticipantLabel = ({
89
90
  }, container]
90
91
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
91
92
  style: styles.wrapper
92
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
93
+ }, isAudioConnecting && /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
94
+ size: "small",
95
+ color: colors.iconPrimary,
96
+ style: styles.audioConnectingIndicator
97
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
93
98
  style: [styles.userNameLabel, userNameLabel],
94
99
  numberOfLines: 1
95
100
  }, participantLabel), isAudioMuted && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -148,6 +153,10 @@ const useStyles = () => {
148
153
  fontWeight: '400',
149
154
  color: theme.colors.textPrimary
150
155
  },
156
+ audioConnectingIndicator: {
157
+ marginRight: theme.variants.spacingSizes.sm,
158
+ justifyContent: 'center'
159
+ },
151
160
  screenShareIconContainer: {
152
161
  marginRight: theme.variants.spacingSizes.sm,
153
162
  justifyContent: 'center'
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_videoReactBindings","_TestIds","_constants","_videoClient","_ThemeContext","_SpeechIndicator","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ParticipantLabel","participant","trackType","theme","colors","typefaces","variants","iconSizes","participantLabel","container","userNameLabel","audioMutedIconContainer","videoMutedIconContainer","pinIconContainer","screenShareIconContainer","useTheme","styles","useStyles","name","userId","pin","sessionId","isLocalParticipant","useCall","useI18n","participantName","isAudioMuted","hasAudio","isVideoMuted","hasVideo","isTrackPaused","hasPausedTrack","screenShareText","userName","createElement","View","style","backgroundColor","sheetOverlay","testID","ComponentTestIds","PARTICIPANT_SCREEN_SHARING","height","md","width","ScreenShareIndicator","color","iconPrimary","Text","textPrimary","caption","numberOfLines","wrapper","MicOff","size","sm","VideoSlash","trackPausedIconContainer","BadNetwork","Pressable","onPress","isLocalPin","unpin","undefined","PinVertical","indicatorWrapper","isSpeaking","isDominantSpeaker","exports","useMemo","StyleSheet","create","marginLeft","spacingSizes","flexDirection","alignItems","padding","maxHeight","borderTopRightRadius","marginBottom","flexShrink","zIndex","Z_INDEX","IN_FRONT","marginTop","fontSize","fontWeight","marginRight","justifyContent","xs"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/ParticipantLabel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_icons","_videoReactBindings","_TestIds","_constants","_videoClient","_ThemeContext","_SpeechIndicator","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ParticipantLabel","participant","trackType","theme","colors","typefaces","variants","iconSizes","participantLabel","container","userNameLabel","audioMutedIconContainer","videoMutedIconContainer","pinIconContainer","screenShareIconContainer","useTheme","styles","useStyles","name","userId","pin","sessionId","isLocalParticipant","useCall","useI18n","participantName","isAudioMuted","hasAudio","isVideoMuted","hasVideo","isTrackPaused","hasPausedTrack","isAudioConnecting","useIsAudioConnecting","screenShareText","userName","createElement","View","style","backgroundColor","sheetOverlay","testID","ComponentTestIds","PARTICIPANT_SCREEN_SHARING","height","md","width","ScreenShareIndicator","color","iconPrimary","Text","textPrimary","caption","numberOfLines","wrapper","ActivityIndicator","size","audioConnectingIndicator","MicOff","sm","VideoSlash","trackPausedIconContainer","BadNetwork","Pressable","onPress","isLocalPin","unpin","undefined","PinVertical","indicatorWrapper","isSpeaking","isDominantSpeaker","exports","useMemo","StyleSheet","create","marginLeft","spacingSizes","flexDirection","alignItems","padding","maxHeight","borderTopRightRadius","marginBottom","flexShrink","zIndex","Z_INDEX","IN_FRONT","marginTop","fontSize","fontWeight","marginRight","justifyContent","xs"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/ParticipantLabel.tsx"],"mappings":"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","ignoreList":[]}
@@ -56,21 +56,28 @@ const BackgroundFiltersProvider = ({
56
56
  const isBackgroundBlurRegisteredRef = (0, _react.useRef)(false);
57
57
  const isVideoBlurRegisteredRef = (0, _react.useRef)(false);
58
58
  const registeredImageFiltersSetRef = (0, _react.useRef)(new Set());
59
+ // The currently applied native filter name. Used to reapply on track
60
+ // replacement, and as a staleness signal so a later apply/disable can
61
+ // invalidate an in-flight apply() call.
62
+ const lastAppliedFilterNameRef = (0, _react.useRef)(null);
59
63
  const [currentBackgroundFilter, setCurrentBackgroundFilter] = (0, _react.useState)();
60
64
  const applyBackgroundBlurFilter = (0, _react.useCallback)(async blurIntensity => {
61
65
  if (!isSupported) {
62
66
  return;
63
67
  }
64
- if (!isBackgroundBlurRegisteredRef.current) {
65
- await videoFiltersModule?.registerBackgroundBlurVideoFilters();
66
- isBackgroundBlurRegisteredRef.current = true;
67
- }
68
68
  let filterName = 'BackgroundBlurMedium';
69
69
  if (blurIntensity === 'heavy') {
70
70
  filterName = 'BackgroundBlurHeavy';
71
71
  } else if (blurIntensity === 'light') {
72
72
  filterName = 'BackgroundBlurLight';
73
73
  }
74
+ // Set before awaiting so a later apply/disable can mark this call stale.
75
+ lastAppliedFilterNameRef.current = filterName;
76
+ if (!isBackgroundBlurRegisteredRef.current) {
77
+ await videoFiltersModule?.registerBackgroundBlurVideoFilters();
78
+ if (lastAppliedFilterNameRef.current !== filterName) return;
79
+ isBackgroundBlurRegisteredRef.current = true;
80
+ }
74
81
  call?.tracer.trace('backgroundFilters.apply', filterName);
75
82
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
76
83
  track._setVideoEffect(filterName);
@@ -83,16 +90,18 @@ const BackgroundFiltersProvider = ({
83
90
  if (!isSupported) {
84
91
  return;
85
92
  }
86
- if (!isVideoBlurRegisteredRef.current) {
87
- await videoFiltersModule?.registerBlurVideoFilters();
88
- isVideoBlurRegisteredRef.current = true;
89
- }
90
93
  let filterName = 'BlurMedium';
91
94
  if (blurIntensity === 'heavy') {
92
95
  filterName = 'BlurHeavy';
93
96
  } else if (blurIntensity === 'light') {
94
97
  filterName = 'BlurLight';
95
98
  }
99
+ lastAppliedFilterNameRef.current = filterName;
100
+ if (!isVideoBlurRegisteredRef.current) {
101
+ await videoFiltersModule?.registerBlurVideoFilters();
102
+ if (lastAppliedFilterNameRef.current !== filterName) return;
103
+ isVideoBlurRegisteredRef.current = true;
104
+ }
96
105
  call?.tracer.trace('videoFilters.apply', filterName);
97
106
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
98
107
  track._setVideoEffect(filterName);
@@ -107,12 +116,14 @@ const BackgroundFiltersProvider = ({
107
116
  }
108
117
  const source = _reactNative.Image.resolveAssetSource(imageSource);
109
118
  const imageUri = source.uri;
119
+ const filterName = `VirtualBackground-${imageUri}`;
120
+ lastAppliedFilterNameRef.current = filterName;
110
121
  const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
111
122
  if (!registeredImageFiltersSet.has(imageUri)) {
112
123
  await videoFiltersModule?.registerVirtualBackgroundFilter(imageSource);
124
+ if (lastAppliedFilterNameRef.current !== filterName) return;
113
125
  registeredImageFiltersSetRef.current.add(imageUri);
114
126
  }
115
- const filterName = `VirtualBackground-${imageUri}`;
116
127
  call?.tracer.trace('backgroundFilters.apply', filterName);
117
128
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
118
129
  track._setVideoEffect(filterName);
@@ -126,11 +137,41 @@ const BackgroundFiltersProvider = ({
126
137
  return;
127
138
  }
128
139
  call?.tracer.trace('backgroundFilters.disableAll', null);
140
+ // Clearing the ref invalidates any in-flight apply — its stale check will bail.
141
+ lastAppliedFilterNameRef.current = null;
129
142
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
130
143
  track._setVideoEffect(null);
131
144
  });
132
145
  setCurrentBackgroundFilter(undefined);
133
146
  }, [call]);
147
+
148
+ // Reapplies the filter on track replacement (flip, enable-after-disable).
149
+ // Releases native filter state on unmount / call change.
150
+ (0, _react.useEffect)(() => {
151
+ if (!call || !isSupported) return;
152
+ const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
153
+ const subscription = call.camera.state.mediaStream$.subscribe(() => {
154
+ const name = lastAppliedFilterNameRef.current;
155
+ if (!name) return;
156
+ call.camera.state.mediaStream?.getVideoTracks().forEach(track => {
157
+ track._setVideoEffect(name);
158
+ });
159
+ });
160
+ return () => {
161
+ subscription.unsubscribe();
162
+ call.camera.state.mediaStream?.getVideoTracks().forEach(track => {
163
+ track._setVideoEffect(null);
164
+ });
165
+ // Drop native processor refs so they can be deallocated. Otherwise the
166
+ // ProcessorProvider registry holds them for the app's lifetime.
167
+ videoFiltersModule?.unregisterAllFilters?.().catch(() => {});
168
+ lastAppliedFilterNameRef.current = null;
169
+ isBackgroundBlurRegisteredRef.current = false;
170
+ isVideoBlurRegisteredRef.current = false;
171
+ registeredImageFiltersSet.clear();
172
+ setCurrentBackgroundFilter(undefined);
173
+ };
174
+ }, [call]);
134
175
  const value = (0, _react.useMemo)(() => ({
135
176
  currentBackgroundFilter,
136
177
  isSupported,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_reactNative","_BackgroundFiltersContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","videoFiltersModule","isSupported","Platform","OS","currentVersion","parseInt","Version","useBackgroundFilters","context","useContext","BackgroundFiltersContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBackgroundBlurRegisteredRef","useRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","tracer","trace","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","Image","resolveAssetSource","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","undefined","value","useMemo","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_reactNative","_BackgroundFiltersContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","videoFiltersModule","isSupported","Platform","OS","currentVersion","parseInt","Version","useBackgroundFilters","context","useContext","BackgroundFiltersContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBackgroundBlurRegisteredRef","useRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","lastAppliedFilterNameRef","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","filterName","current","registerBackgroundBlurVideoFilters","tracer","trace","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","Image","resolveAssetSource","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","undefined","useEffect","subscription","mediaStream$","subscribe","name","unsubscribe","unregisterAllFilters","catch","clear","value","useMemo","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
@@ -124,17 +124,6 @@ Object.keys(_useScreenshot).forEach(function (key) {
124
124
  }
125
125
  });
126
126
  });
127
- var _useSpeechDetection = require("./useSpeechDetection");
128
- Object.keys(_useSpeechDetection).forEach(function (key) {
129
- if (key === "default" || key === "__esModule") return;
130
- if (key in exports && exports[key] === _useSpeechDetection[key]) return;
131
- Object.defineProperty(exports, key, {
132
- enumerable: true,
133
- get: function () {
134
- return _useSpeechDetection[key];
135
- }
136
- });
137
- });
138
127
  var _useModeration = require("./useModeration");
139
128
  Object.keys(_useModeration).forEach(function (key) {
140
129
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useScreenShareButton","_useScreenShareAudioMixing","_useTrackDimensions","_useScreenshot","_useSpeechDetection","_useModeration"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useScreenShareButton","_useScreenShareAudioMixing","_useTrackDimensions","_useScreenshot","_useModeration"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.registerSDKGlobals = registerSDKGlobals;
7
7
  var _reactNative = require("react-native");
8
+ var _reactNativeWebrtc = require("@stream-io/react-native-webrtc");
8
9
  var _callingx = require("../push/libs/callingx");
9
10
  var _callingx2 = require("./callingx/callingx");
10
11
  const StreamInCallManagerNativeModule = _reactNative.NativeModules.StreamInCallManager;
@@ -82,6 +83,18 @@ const streamRNVideoSDKGlobals = {
82
83
  // use our own service on iOS
83
84
  return Boolean(await StreamVideoReactNativeModule.checkPermission?.(permission));
84
85
  }
86
+ },
87
+ nativeEvents: {
88
+ speechActivity: {
89
+ subscribe(cb) {
90
+ const subscription = _reactNativeWebrtc.audioDeviceModuleEvents.addSpeechActivityListener(data => {
91
+ cb({
92
+ isSoundDetected: data.event === 'started'
93
+ });
94
+ });
95
+ return () => subscription.remove();
96
+ }
97
+ }
85
98
  }
86
99
  };
87
100
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_callingx","_callingx2","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","getCallingxLibIfAvailable","shouldBypassForCallKit","isRingingTypeCall","Platform","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","joinCallingxCall","endCall","endCallingxCall","registerOutgoingCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAMA,MAAMG,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGF,0BAAa,CAACG,sBAElD;AAED,MAAMC,cAAc,GAAG,IAAAC,mCAAyB,EAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACL,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMM,MAAM,GACVN,cAAc,CAACO,OAAO,KACrBJ,iBAAiB,IAAIH,cAAc,CAACQ,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,QAAQ,EAAEC,2BAAgB;IAC1BC,OAAO,EAAEC,0BAAe;IACxBC,oBAAoB,EAAEA;EACxB,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEf;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACwB,iCAAiC,CAC/DD,aACF,CAAC;MACDvB,+BAA+B,CAACsB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEjB;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACyB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAElB;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAAC0B,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAIpB,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMoB,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnBE,+BAAkB,CAACC,WAAW,CAACC,MAAM,GACrCF,+BAAkB,CAACC,WAAW,CAACE,YAAY;QACjD,OAAOH,+BAAkB,CAACH,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOK,OAAO,CACZ,MAAMhC,4BAA4B,CAACiC,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASQ,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGzB,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeWebrtc","_callingx","_callingx2","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","getCallingxLibIfAvailable","shouldBypassForCallKit","isRingingTypeCall","Platform","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","joinCallingxCall","endCall","endCallingxCall","registerOutgoingCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","audioDeviceModuleEvents","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAMA,MAAMI,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGF,0BAAa,CAACG,sBAElD;AAED,MAAMC,cAAc,GAAG,IAAAC,mCAAyB,EAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACL,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMM,MAAM,GACVN,cAAc,CAACO,OAAO,KACrBJ,iBAAiB,IAAIH,cAAc,CAACQ,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,QAAQ,EAAEC,2BAAgB;IAC1BC,OAAO,EAAEC,0BAAe;IACxBC,oBAAoB,EAAEA;EACxB,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEf;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACwB,iCAAiC,CAC/DD,aACF,CAAC;MACDvB,+BAA+B,CAACsB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEjB;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACyB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAElB;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAAC0B,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAIpB,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMoB,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnBE,+BAAkB,CAACC,WAAW,CAACC,MAAM,GACrCF,+BAAkB,CAACC,WAAW,CAACE,YAAY;QACjD,OAAOH,+BAAkB,CAACH,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOK,OAAO,CACZ,MAAMhC,4BAA4B,CAACiC,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF,CAAC;EACDQ,YAAY,EAAE;IACZC,cAAc,EAAE;MACdC,SAASA,CAACC,EAAE,EAAE;QACZ,MAAMC,YAAY,GAAGC,0CAAuB,CAACC,yBAAyB,CACnEC,IAAI,IAAK;UACRJ,EAAE,CAAC;YAAEK,eAAe,EAAED,IAAI,CAACE,KAAK,KAAK;UAAU,CAAC,CAAC;QACnD,CACF,CAAC;QACD,OAAO,MAAML,YAAY,CAACM,MAAM,CAAC,CAAC;MACpC;IACF;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGpC,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.32.4';
7
+ const version = exports.version = '1.33.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo } from 'react';
2
- import { Pressable, StyleSheet, Text, View } from 'react-native';
2
+ import { Pressable, StyleSheet, Text, View, ActivityIndicator } from 'react-native';
3
3
  import { BadNetwork, MicOff, PinVertical, ScreenShareIndicator, VideoSlash } from '../../../icons';
4
- import { useCall, useI18n } from '@stream-io/video-react-bindings';
4
+ import { useCall, useI18n, useIsAudioConnecting } from '@stream-io/video-react-bindings';
5
5
  import { ComponentTestIds } from '../../../constants/TestIds';
6
6
  import { Z_INDEX } from '../../../constants';
7
7
  import { hasAudio, hasPausedTrack, hasVideo } from '@stream-io/video-client';
@@ -53,6 +53,7 @@ export const ParticipantLabel = ({
53
53
  const isAudioMuted = !hasAudio(participant);
54
54
  const isVideoMuted = !hasVideo(participant);
55
55
  const isTrackPaused = trackType && hasPausedTrack(participant, trackType);
56
+ const isAudioConnecting = useIsAudioConnecting(participant);
56
57
  if (trackType === 'screenShareTrack') {
57
58
  const screenShareText = isLocalParticipant ? t('You are sharing your screen') : t('{{ userName }} is sharing their screen', {
58
59
  userName: participantName
@@ -82,7 +83,11 @@ export const ParticipantLabel = ({
82
83
  }, container]
83
84
  }, /*#__PURE__*/React.createElement(View, {
84
85
  style: styles.wrapper
85
- }, /*#__PURE__*/React.createElement(Text, {
86
+ }, isAudioConnecting && /*#__PURE__*/React.createElement(ActivityIndicator, {
87
+ size: "small",
88
+ color: colors.iconPrimary,
89
+ style: styles.audioConnectingIndicator
90
+ }), /*#__PURE__*/React.createElement(Text, {
86
91
  style: [styles.userNameLabel, userNameLabel],
87
92
  numberOfLines: 1
88
93
  }, participantLabel), isAudioMuted && /*#__PURE__*/React.createElement(View, {
@@ -140,6 +145,10 @@ const useStyles = () => {
140
145
  fontWeight: '400',
141
146
  color: theme.colors.textPrimary
142
147
  },
148
+ audioConnectingIndicator: {
149
+ marginRight: theme.variants.spacingSizes.sm,
150
+ justifyContent: 'center'
151
+ },
143
152
  screenShareIconContainer: {
144
153
  marginRight: theme.variants.spacingSizes.sm,
145
154
  justifyContent: 'center'
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Pressable","StyleSheet","Text","View","BadNetwork","MicOff","PinVertical","ScreenShareIndicator","VideoSlash","useCall","useI18n","ComponentTestIds","Z_INDEX","hasAudio","hasPausedTrack","hasVideo","useTheme","SpeechIndicator","ParticipantLabel","participant","trackType","theme","colors","typefaces","variants","iconSizes","participantLabel","container","userNameLabel","audioMutedIconContainer","videoMutedIconContainer","pinIconContainer","screenShareIconContainer","styles","useStyles","name","userId","pin","sessionId","isLocalParticipant","call","t","participantName","isAudioMuted","isVideoMuted","isTrackPaused","screenShareText","userName","createElement","style","backgroundColor","sheetOverlay","testID","PARTICIPANT_SCREEN_SHARING","height","md","width","color","iconPrimary","textPrimary","caption","numberOfLines","wrapper","size","sm","trackPausedIconContainer","onPress","isLocalPin","unpin","undefined","indicatorWrapper","isSpeaking","isDominantSpeaker","create","marginLeft","spacingSizes","flexDirection","alignItems","padding","maxHeight","borderTopRightRadius","marginBottom","flexShrink","zIndex","IN_FRONT","marginTop","fontSize","fontWeight","marginRight","justifyContent","xs"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/ParticipantLabel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Pressable","StyleSheet","Text","View","ActivityIndicator","BadNetwork","MicOff","PinVertical","ScreenShareIndicator","VideoSlash","useCall","useI18n","useIsAudioConnecting","ComponentTestIds","Z_INDEX","hasAudio","hasPausedTrack","hasVideo","useTheme","SpeechIndicator","ParticipantLabel","participant","trackType","theme","colors","typefaces","variants","iconSizes","participantLabel","container","userNameLabel","audioMutedIconContainer","videoMutedIconContainer","pinIconContainer","screenShareIconContainer","styles","useStyles","name","userId","pin","sessionId","isLocalParticipant","call","t","participantName","isAudioMuted","isVideoMuted","isTrackPaused","isAudioConnecting","screenShareText","userName","createElement","style","backgroundColor","sheetOverlay","testID","PARTICIPANT_SCREEN_SHARING","height","md","width","color","iconPrimary","textPrimary","caption","numberOfLines","wrapper","size","audioConnectingIndicator","sm","trackPausedIconContainer","onPress","isLocalPin","unpin","undefined","indicatorWrapper","isSpeaking","isDominantSpeaker","create","marginLeft","spacingSizes","flexDirection","alignItems","padding","maxHeight","borderTopRightRadius","marginBottom","flexShrink","zIndex","IN_FRONT","marginTop","fontSize","fontWeight","marginRight","justifyContent","xs"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/ParticipantLabel.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useContext, useMemo, useRef, useState } from 'react';
1
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { useCall } from '@stream-io/video-react-bindings';
3
3
  import { Image, Platform } from 'react-native';
4
4
  import { BackgroundFiltersContext } from './internal/BackgroundFiltersContext';
@@ -49,21 +49,28 @@ export const BackgroundFiltersProvider = ({
49
49
  const isBackgroundBlurRegisteredRef = useRef(false);
50
50
  const isVideoBlurRegisteredRef = useRef(false);
51
51
  const registeredImageFiltersSetRef = useRef(new Set());
52
+ // The currently applied native filter name. Used to reapply on track
53
+ // replacement, and as a staleness signal so a later apply/disable can
54
+ // invalidate an in-flight apply() call.
55
+ const lastAppliedFilterNameRef = useRef(null);
52
56
  const [currentBackgroundFilter, setCurrentBackgroundFilter] = useState();
53
57
  const applyBackgroundBlurFilter = useCallback(async blurIntensity => {
54
58
  if (!isSupported) {
55
59
  return;
56
60
  }
57
- if (!isBackgroundBlurRegisteredRef.current) {
58
- await videoFiltersModule?.registerBackgroundBlurVideoFilters();
59
- isBackgroundBlurRegisteredRef.current = true;
60
- }
61
61
  let filterName = 'BackgroundBlurMedium';
62
62
  if (blurIntensity === 'heavy') {
63
63
  filterName = 'BackgroundBlurHeavy';
64
64
  } else if (blurIntensity === 'light') {
65
65
  filterName = 'BackgroundBlurLight';
66
66
  }
67
+ // Set before awaiting so a later apply/disable can mark this call stale.
68
+ lastAppliedFilterNameRef.current = filterName;
69
+ if (!isBackgroundBlurRegisteredRef.current) {
70
+ await videoFiltersModule?.registerBackgroundBlurVideoFilters();
71
+ if (lastAppliedFilterNameRef.current !== filterName) return;
72
+ isBackgroundBlurRegisteredRef.current = true;
73
+ }
67
74
  call?.tracer.trace('backgroundFilters.apply', filterName);
68
75
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
69
76
  track._setVideoEffect(filterName);
@@ -76,16 +83,18 @@ export const BackgroundFiltersProvider = ({
76
83
  if (!isSupported) {
77
84
  return;
78
85
  }
79
- if (!isVideoBlurRegisteredRef.current) {
80
- await videoFiltersModule?.registerBlurVideoFilters();
81
- isVideoBlurRegisteredRef.current = true;
82
- }
83
86
  let filterName = 'BlurMedium';
84
87
  if (blurIntensity === 'heavy') {
85
88
  filterName = 'BlurHeavy';
86
89
  } else if (blurIntensity === 'light') {
87
90
  filterName = 'BlurLight';
88
91
  }
92
+ lastAppliedFilterNameRef.current = filterName;
93
+ if (!isVideoBlurRegisteredRef.current) {
94
+ await videoFiltersModule?.registerBlurVideoFilters();
95
+ if (lastAppliedFilterNameRef.current !== filterName) return;
96
+ isVideoBlurRegisteredRef.current = true;
97
+ }
89
98
  call?.tracer.trace('videoFilters.apply', filterName);
90
99
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
91
100
  track._setVideoEffect(filterName);
@@ -100,12 +109,14 @@ export const BackgroundFiltersProvider = ({
100
109
  }
101
110
  const source = Image.resolveAssetSource(imageSource);
102
111
  const imageUri = source.uri;
112
+ const filterName = `VirtualBackground-${imageUri}`;
113
+ lastAppliedFilterNameRef.current = filterName;
103
114
  const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
104
115
  if (!registeredImageFiltersSet.has(imageUri)) {
105
116
  await videoFiltersModule?.registerVirtualBackgroundFilter(imageSource);
117
+ if (lastAppliedFilterNameRef.current !== filterName) return;
106
118
  registeredImageFiltersSetRef.current.add(imageUri);
107
119
  }
108
- const filterName = `VirtualBackground-${imageUri}`;
109
120
  call?.tracer.trace('backgroundFilters.apply', filterName);
110
121
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
111
122
  track._setVideoEffect(filterName);
@@ -119,11 +130,41 @@ export const BackgroundFiltersProvider = ({
119
130
  return;
120
131
  }
121
132
  call?.tracer.trace('backgroundFilters.disableAll', null);
133
+ // Clearing the ref invalidates any in-flight apply — its stale check will bail.
134
+ lastAppliedFilterNameRef.current = null;
122
135
  call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
123
136
  track._setVideoEffect(null);
124
137
  });
125
138
  setCurrentBackgroundFilter(undefined);
126
139
  }, [call]);
140
+
141
+ // Reapplies the filter on track replacement (flip, enable-after-disable).
142
+ // Releases native filter state on unmount / call change.
143
+ useEffect(() => {
144
+ if (!call || !isSupported) return;
145
+ const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
146
+ const subscription = call.camera.state.mediaStream$.subscribe(() => {
147
+ const name = lastAppliedFilterNameRef.current;
148
+ if (!name) return;
149
+ call.camera.state.mediaStream?.getVideoTracks().forEach(track => {
150
+ track._setVideoEffect(name);
151
+ });
152
+ });
153
+ return () => {
154
+ subscription.unsubscribe();
155
+ call.camera.state.mediaStream?.getVideoTracks().forEach(track => {
156
+ track._setVideoEffect(null);
157
+ });
158
+ // Drop native processor refs so they can be deallocated. Otherwise the
159
+ // ProcessorProvider registry holds them for the app's lifetime.
160
+ videoFiltersModule?.unregisterAllFilters?.().catch(() => {});
161
+ lastAppliedFilterNameRef.current = null;
162
+ isBackgroundBlurRegisteredRef.current = false;
163
+ isVideoBlurRegisteredRef.current = false;
164
+ registeredImageFiltersSet.clear();
165
+ setCurrentBackgroundFilter(undefined);
166
+ };
167
+ }, [call]);
127
168
  const value = useMemo(() => ({
128
169
  currentBackgroundFilter,
129
170
  isSupported,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","useMemo","useRef","useState","useCall","Image","Platform","BackgroundFiltersContext","videoFiltersModule","require","isSupported","OS","currentVersion","parseInt","Version","useBackgroundFilters","context","Error","BackgroundFiltersProvider","children","call","isBackgroundBlurRegisteredRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","applyBackgroundBlurFilter","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","tracer","trace","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","resolveAssetSource","imageUri","uri","registeredImageFiltersSet","has","registerVirtualBackgroundFilter","add","image","disableAllFilters","undefined","value","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","useCall","Image","Platform","BackgroundFiltersContext","videoFiltersModule","require","isSupported","OS","currentVersion","parseInt","Version","useBackgroundFilters","context","Error","BackgroundFiltersProvider","children","call","isBackgroundBlurRegisteredRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","lastAppliedFilterNameRef","currentBackgroundFilter","setCurrentBackgroundFilter","applyBackgroundBlurFilter","blurIntensity","filterName","current","registerBackgroundBlurVideoFilters","tracer","trace","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","resolveAssetSource","imageUri","uri","registeredImageFiltersSet","has","registerVirtualBackgroundFilter","add","image","disableAllFilters","undefined","subscription","mediaStream$","subscribe","name","unsubscribe","unregisterAllFilters","catch","clear","value","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,5 @@ export * from './useScreenShareButton';
9
9
  export * from './useScreenShareAudioMixing';
10
10
  export * from './useTrackDimensions';
11
11
  export * from './useScreenshot';
12
- export * from './useSpeechDetection';
13
12
  export * from './useModeration';
14
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAC/B,cAAc,sBAAsB;AACpC,cAAc,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { NativeModules, PermissionsAndroid, Platform } from 'react-native';
2
+ import { audioDeviceModuleEvents } from '@stream-io/react-native-webrtc';
2
3
  import { getCallingxLibIfAvailable } from '../push/libs/callingx';
3
4
  import { endCallingxCall, registerOutgoingCall, joinCallingxCall } from './callingx/callingx';
4
5
  const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
@@ -76,6 +77,18 @@ const streamRNVideoSDKGlobals = {
76
77
  // use our own service on iOS
77
78
  return Boolean(await StreamVideoReactNativeModule.checkPermission?.(permission));
78
79
  }
80
+ },
81
+ nativeEvents: {
82
+ speechActivity: {
83
+ subscribe(cb) {
84
+ const subscription = audioDeviceModuleEvents.addSpeechActivityListener(data => {
85
+ cb({
86
+ isSoundDetected: data.event === 'started'
87
+ });
88
+ });
89
+ return () => subscription.remove();
90
+ }
91
+ }
79
92
  }
80
93
  };
81
94
 
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","PermissionsAndroid","Platform","getCallingxLibIfAvailable","endCallingxCall","registerOutgoingCall","joinCallingxCall","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","shouldBypassForCallKit","isRingingTypeCall","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","endCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,SAASC,yBAAyB,QAAQ,uBAAuB;AACjE,SACEC,eAAe,EACfC,oBAAoB,EACpBC,gBAAgB,QACX,qBAAqB;AAE5B,MAAMC,+BAA+B,GAAGP,aAAa,CAACQ,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGT,aAAa,CAACU,sBAElD;AAED,MAAMC,cAAc,GAAGR,yBAAyB,CAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMS,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIX,QAAQ,CAACY,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACH,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMI,MAAM,GACVJ,cAAc,CAACK,OAAO,KACrBH,iBAAiB,IAAIF,cAAc,CAACM,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,QAAQ,EAAEd,gBAAgB;IAC1Be,OAAO,EAAEjB,eAAe;IACxBC,oBAAoB,EAAEA;EACxB,CAAC;EACDiB,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEX;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACkB,iCAAiC,CAC/DD,aACF,CAAC;MACDjB,+BAA+B,CAACgB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEb;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACmB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAEd;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAN,+BAA+B,CAACoB,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAI5B,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMiB,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnB7B,kBAAkB,CAAC+B,WAAW,CAACC,MAAM,GACrChC,kBAAkB,CAAC+B,WAAW,CAACE,YAAY;QACjD,OAAOjC,kBAAkB,CAAC4B,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOI,OAAO,CACZ,MAAM1B,4BAA4B,CAAC2B,eAAe,GAAGN,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASO,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGrB,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","PermissionsAndroid","Platform","audioDeviceModuleEvents","getCallingxLibIfAvailable","endCallingxCall","registerOutgoingCall","joinCallingxCall","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","shouldBypassForCallKit","isRingingTypeCall","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","endCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.32.4';
1
+ export const version = '1.33.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantLabel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/ParticipantLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAWvC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,EACpB,WAAW,GAAG,aAAa,CAC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,6BAG9B,qBAAqB,sBAmHvB,CAAC"}
1
+ {"version":3,"file":"ParticipantLabel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/ParticipantLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAqBvC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,EACpB,WAAW,GAAG,aAAa,CAC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,6BAG9B,qBAAqB,sBA2HvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,iBAAiB,EAMvB,MAAM,OAAO,CAAC;AAYf,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAqB7C;;GAEG;AACH,eAAO,MAAM,oBAAoB,0EAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,sBA8HxE,CAAC"}
1
+ {"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,iBAAiB,EAOvB,MAAM,OAAO,CAAC;AAYf,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAqB7C;;GAEG;AACH,eAAO,MAAM,oBAAoB,0EAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,sBA2KxE,CAAC"}
@@ -9,6 +9,5 @@ export * from './useScreenShareButton';
9
9
  export * from './useScreenShareAudioMixing';
10
10
  export * from './useTrackDimensions';
11
11
  export * from './useScreenshot';
12
- export * from './useSpeechDetection';
13
12
  export * from './useModeration';
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AA4FA,wBAAgB,kBAAkB,SAIjC"}
1
+ {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AAyGA,wBAAgB,kBAAkB,SAIjC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.32.4";
1
+ export declare const version = "1.33.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.32.4",
3
+ "version": "1.33.0",
4
4
  "description": "Stream Video SDK for React Native",
5
5
  "author": "https://getstream.io",
6
6
  "homepage": "https://getstream.io/video/docs/react-native/",
@@ -50,8 +50,8 @@
50
50
  "!**/.*"
51
51
  ],
52
52
  "dependencies": {
53
- "@stream-io/video-client": "1.47.0",
54
- "@stream-io/video-react-bindings": "1.14.2",
53
+ "@stream-io/video-client": "1.48.0",
54
+ "@stream-io/video-react-bindings": "1.15.0",
55
55
  "intl-pluralrules": "2.0.1",
56
56
  "react-native-url-polyfill": "^3.0.0",
57
57
  "rxjs": "~7.8.2",
@@ -65,7 +65,7 @@
65
65
  "@react-native-firebase/messaging": ">=17.5.0",
66
66
  "@stream-io/noise-cancellation-react-native": ">=0.1.0",
67
67
  "@stream-io/react-native-callingx": ">=0.1.0",
68
- "@stream-io/react-native-webrtc": ">=137.1.3",
68
+ "@stream-io/react-native-webrtc": ">=137.2.0",
69
69
  "@stream-io/video-filters-react-native": ">=0.1.0",
70
70
  "expo": ">=47.0.0",
71
71
  "expo-build-properties": "*",
@@ -127,8 +127,8 @@
127
127
  "@react-native/babel-preset": "^0.81.5",
128
128
  "@stream-io/noise-cancellation-react-native": "^0.7.0",
129
129
  "@stream-io/react-native-callingx": "^0.1.1",
130
- "@stream-io/react-native-webrtc": "137.1.3",
131
- "@stream-io/video-filters-react-native": "^0.12.0",
130
+ "@stream-io/react-native-webrtc": "137.2.0",
131
+ "@stream-io/video-filters-react-native": "^0.12.1",
132
132
  "@testing-library/jest-native": "^5.4.3",
133
133
  "@testing-library/react-native": "13.3.3",
134
134
  "@tsconfig/node18": "^18.2.4",
@@ -1,5 +1,11 @@
1
1
  import React, { useMemo } from 'react';
2
- import { Pressable, StyleSheet, Text, View } from 'react-native';
2
+ import {
3
+ Pressable,
4
+ StyleSheet,
5
+ Text,
6
+ View,
7
+ ActivityIndicator,
8
+ } from 'react-native';
3
9
  import {
4
10
  BadNetwork,
5
11
  MicOff,
@@ -7,7 +13,11 @@ import {
7
13
  ScreenShareIndicator,
8
14
  VideoSlash,
9
15
  } from '../../../icons';
10
- import { useCall, useI18n } from '@stream-io/video-react-bindings';
16
+ import {
17
+ useCall,
18
+ useI18n,
19
+ useIsAudioConnecting,
20
+ } from '@stream-io/video-react-bindings';
11
21
  import { ComponentTestIds } from '../../../constants/TestIds';
12
22
  import { type ParticipantViewProps } from './ParticipantView';
13
23
  import { Z_INDEX } from '../../../constants';
@@ -55,6 +65,7 @@ export const ParticipantLabel = ({
55
65
  const isAudioMuted = !hasAudio(participant);
56
66
  const isVideoMuted = !hasVideo(participant);
57
67
  const isTrackPaused = trackType && hasPausedTrack(participant, trackType);
68
+ const isAudioConnecting = useIsAudioConnecting(participant);
58
69
 
59
70
  if (trackType === 'screenShareTrack') {
60
71
  const screenShareText = isLocalParticipant
@@ -104,6 +115,13 @@ export const ParticipantLabel = ({
104
115
  ]}
105
116
  >
106
117
  <View style={styles.wrapper}>
118
+ {isAudioConnecting && (
119
+ <ActivityIndicator
120
+ size="small"
121
+ color={colors.iconPrimary}
122
+ style={styles.audioConnectingIndicator}
123
+ />
124
+ )}
107
125
  <Text style={[styles.userNameLabel, userNameLabel]} numberOfLines={1}>
108
126
  {participantLabel}
109
127
  </Text>
@@ -174,6 +192,10 @@ const useStyles = () => {
174
192
  fontWeight: '400',
175
193
  color: theme.colors.textPrimary,
176
194
  },
195
+ audioConnectingIndicator: {
196
+ marginRight: theme.variants.spacingSizes.sm,
197
+ justifyContent: 'center',
198
+ },
177
199
  screenShareIconContainer: {
178
200
  marginRight: theme.variants.spacingSizes.sm,
179
201
  justifyContent: 'center',
@@ -2,6 +2,7 @@ import React, {
2
2
  type PropsWithChildren,
3
3
  useCallback,
4
4
  useContext,
5
+ useEffect,
5
6
  useMemo,
6
7
  useRef,
7
8
  useState,
@@ -76,6 +77,10 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
76
77
  const isBackgroundBlurRegisteredRef = useRef(false);
77
78
  const isVideoBlurRegisteredRef = useRef(false);
78
79
  const registeredImageFiltersSetRef = useRef(new Set<string>());
80
+ // The currently applied native filter name. Used to reapply on track
81
+ // replacement, and as a staleness signal so a later apply/disable can
82
+ // invalidate an in-flight apply() call.
83
+ const lastAppliedFilterNameRef = useRef<string | null>(null);
79
84
 
80
85
  const [currentBackgroundFilter, setCurrentBackgroundFilter] =
81
86
  useState<CurrentBackgroundFilter>();
@@ -85,16 +90,19 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
85
90
  if (!isSupported) {
86
91
  return;
87
92
  }
88
- if (!isBackgroundBlurRegisteredRef.current) {
89
- await videoFiltersModule?.registerBackgroundBlurVideoFilters();
90
- isBackgroundBlurRegisteredRef.current = true;
91
- }
92
93
  let filterName = 'BackgroundBlurMedium';
93
94
  if (blurIntensity === 'heavy') {
94
95
  filterName = 'BackgroundBlurHeavy';
95
96
  } else if (blurIntensity === 'light') {
96
97
  filterName = 'BackgroundBlurLight';
97
98
  }
99
+ // Set before awaiting so a later apply/disable can mark this call stale.
100
+ lastAppliedFilterNameRef.current = filterName;
101
+ if (!isBackgroundBlurRegisteredRef.current) {
102
+ await videoFiltersModule?.registerBackgroundBlurVideoFilters();
103
+ if (lastAppliedFilterNameRef.current !== filterName) return;
104
+ isBackgroundBlurRegisteredRef.current = true;
105
+ }
98
106
  call?.tracer.trace('backgroundFilters.apply', filterName);
99
107
  (call?.camera.state.mediaStream as MediaStream | undefined)
100
108
  ?.getVideoTracks()
@@ -111,16 +119,18 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
111
119
  if (!isSupported) {
112
120
  return;
113
121
  }
114
- if (!isVideoBlurRegisteredRef.current) {
115
- await videoFiltersModule?.registerBlurVideoFilters();
116
- isVideoBlurRegisteredRef.current = true;
117
- }
118
122
  let filterName = 'BlurMedium';
119
123
  if (blurIntensity === 'heavy') {
120
124
  filterName = 'BlurHeavy';
121
125
  } else if (blurIntensity === 'light') {
122
126
  filterName = 'BlurLight';
123
127
  }
128
+ lastAppliedFilterNameRef.current = filterName;
129
+ if (!isVideoBlurRegisteredRef.current) {
130
+ await videoFiltersModule?.registerBlurVideoFilters();
131
+ if (lastAppliedFilterNameRef.current !== filterName) return;
132
+ isVideoBlurRegisteredRef.current = true;
133
+ }
124
134
  call?.tracer.trace('videoFilters.apply', filterName);
125
135
  (call?.camera.state.mediaStream as MediaStream | undefined)
126
136
  ?.getVideoTracks()
@@ -139,12 +149,14 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
139
149
  }
140
150
  const source = Image.resolveAssetSource(imageSource);
141
151
  const imageUri = source.uri;
152
+ const filterName = `VirtualBackground-${imageUri}`;
153
+ lastAppliedFilterNameRef.current = filterName;
142
154
  const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
143
155
  if (!registeredImageFiltersSet.has(imageUri)) {
144
156
  await videoFiltersModule?.registerVirtualBackgroundFilter(imageSource);
157
+ if (lastAppliedFilterNameRef.current !== filterName) return;
145
158
  registeredImageFiltersSetRef.current.add(imageUri);
146
159
  }
147
- const filterName = `VirtualBackground-${imageUri}`;
148
160
  call?.tracer.trace('backgroundFilters.apply', filterName);
149
161
  (call?.camera.state.mediaStream as MediaStream | undefined)
150
162
  ?.getVideoTracks()
@@ -161,6 +173,8 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
161
173
  return;
162
174
  }
163
175
  call?.tracer.trace('backgroundFilters.disableAll', null);
176
+ // Clearing the ref invalidates any in-flight apply — its stale check will bail.
177
+ lastAppliedFilterNameRef.current = null;
164
178
  (call?.camera.state.mediaStream as MediaStream | undefined)
165
179
  ?.getVideoTracks()
166
180
  .forEach((track) => {
@@ -169,6 +183,38 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
169
183
  setCurrentBackgroundFilter(undefined);
170
184
  }, [call]);
171
185
 
186
+ // Reapplies the filter on track replacement (flip, enable-after-disable).
187
+ // Releases native filter state on unmount / call change.
188
+ useEffect(() => {
189
+ if (!call || !isSupported) return;
190
+ const registeredImageFiltersSet = registeredImageFiltersSetRef.current;
191
+ const subscription = call.camera.state.mediaStream$.subscribe(() => {
192
+ const name = lastAppliedFilterNameRef.current;
193
+ if (!name) return;
194
+ (call.camera.state.mediaStream as MediaStream | undefined)
195
+ ?.getVideoTracks()
196
+ .forEach((track) => {
197
+ track._setVideoEffect(name);
198
+ });
199
+ });
200
+ return () => {
201
+ subscription.unsubscribe();
202
+ (call.camera.state.mediaStream as MediaStream | undefined)
203
+ ?.getVideoTracks()
204
+ .forEach((track) => {
205
+ track._setVideoEffect(null);
206
+ });
207
+ // Drop native processor refs so they can be deallocated. Otherwise the
208
+ // ProcessorProvider registry holds them for the app's lifetime.
209
+ videoFiltersModule?.unregisterAllFilters?.().catch(() => {});
210
+ lastAppliedFilterNameRef.current = null;
211
+ isBackgroundBlurRegisteredRef.current = false;
212
+ isVideoBlurRegisteredRef.current = false;
213
+ registeredImageFiltersSet.clear();
214
+ setCurrentBackgroundFilter(undefined);
215
+ };
216
+ }, [call]);
217
+
172
218
  const value = useMemo(
173
219
  () => ({
174
220
  currentBackgroundFilter,
@@ -9,5 +9,4 @@ export * from './useScreenShareButton';
9
9
  export * from './useScreenShareAudioMixing';
10
10
  export * from './useTrackDimensions';
11
11
  export * from './useScreenshot';
12
- export * from './useSpeechDetection';
13
12
  export * from './useModeration';
@@ -1,5 +1,6 @@
1
1
  import { StreamRNVideoSDKGlobals } from '@stream-io/video-client';
2
2
  import { NativeModules, PermissionsAndroid, Platform } from 'react-native';
3
+ import { audioDeviceModuleEvents } from '@stream-io/react-native-webrtc';
3
4
  import { getCallingxLibIfAvailable } from '../push/libs/callingx';
4
5
  import {
5
6
  endCallingxCall,
@@ -85,6 +86,18 @@ const streamRNVideoSDKGlobals: StreamRNVideoSDKGlobals = {
85
86
  );
86
87
  },
87
88
  },
89
+ nativeEvents: {
90
+ speechActivity: {
91
+ subscribe(cb) {
92
+ const subscription = audioDeviceModuleEvents.addSpeechActivityListener(
93
+ (data) => {
94
+ cb({ isSoundDetected: data.event === 'started' });
95
+ },
96
+ );
97
+ return () => subscription.remove();
98
+ },
99
+ },
100
+ },
88
101
  };
89
102
 
90
103
  // Note: The global type declaration for `streamRNVideoSDK` is defined in
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.32.4';
1
+ export const version = '1.33.0';
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useSpeechDetection = useSpeechDetection;
7
- var _react = require("react");
8
- var _videoClient = require("@stream-io/video-client");
9
- var _videoReactBindings = require("@stream-io/video-react-bindings");
10
- /**
11
- * Hook that provides speech detection info using the RNSpeechDetector.
12
- *
13
- * @returns An object containing the current audio level (0 - 1) and whether sound is detected.
14
- */
15
- function useSpeechDetection() {
16
- const [audioState, setAudioState] = (0, _react.useState)({
17
- isSoundDetected: false,
18
- audioLevel: 0
19
- });
20
- const {
21
- useMicrophoneState
22
- } = (0, _videoReactBindings.useCallStateHooks)();
23
- const {
24
- isEnabled,
25
- mediaStream
26
- } = useMicrophoneState();
27
- (0, _react.useEffect)(() => {
28
- if (!isEnabled) return;
29
- const detector = new _videoClient.RNSpeechDetector(mediaStream);
30
- const start = detector.start(state => {
31
- setAudioState(state);
32
- });
33
- return () => {
34
- start.then(stop => stop());
35
- };
36
- }, [mediaStream, isEnabled]);
37
- return audioState;
38
- }
39
- //# sourceMappingURL=useSpeechDetection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_videoClient","_videoReactBindings","useSpeechDetection","audioState","setAudioState","useState","isSoundDetected","audioLevel","useMicrophoneState","useCallStateHooks","isEnabled","mediaStream","useEffect","detector","RNSpeechDetector","start","state","then","stop"],"sourceRoot":"../../../src","sources":["hooks/useSpeechDetection.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,mBAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAqB;IAC/DC,eAAe,EAAE,KAAK;IACtBC,UAAU,EAAE;EACd,CAAC,CAAC;EACF,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAClD,MAAM;IAAEC,SAAS;IAAEC;EAAY,CAAC,GAAGH,kBAAkB,CAAC,CAAC;EAEvD,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAI,CAACF,SAAS,EAAE;IAEhB,MAAMG,QAAQ,GAAG,IAAIC,6BAAgB,CAACH,WAAW,CAAC;IAClD,MAAMI,KAAK,GAAGF,QAAQ,CAACE,KAAK,CAAEC,KAAyB,IAAK;MAC1DZ,aAAa,CAACY,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXD,KAAK,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;EACH,CAAC,EAAE,CAACP,WAAW,EAAED,SAAS,CAAC,CAAC;EAE5B,OAAOP,UAAU;AACnB","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import { RNSpeechDetector } from '@stream-io/video-client';
3
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
4
-
5
- /**
6
- * Hook that provides speech detection info using the RNSpeechDetector.
7
- *
8
- * @returns An object containing the current audio level (0 - 1) and whether sound is detected.
9
- */
10
- export function useSpeechDetection() {
11
- const [audioState, setAudioState] = useState({
12
- isSoundDetected: false,
13
- audioLevel: 0
14
- });
15
- const {
16
- useMicrophoneState
17
- } = useCallStateHooks();
18
- const {
19
- isEnabled,
20
- mediaStream
21
- } = useMicrophoneState();
22
- useEffect(() => {
23
- if (!isEnabled) return;
24
- const detector = new RNSpeechDetector(mediaStream);
25
- const start = detector.start(state => {
26
- setAudioState(state);
27
- });
28
- return () => {
29
- start.then(stop => stop());
30
- };
31
- }, [mediaStream, isEnabled]);
32
- return audioState;
33
- }
34
- //# sourceMappingURL=useSpeechDetection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useEffect","useState","RNSpeechDetector","useCallStateHooks","useSpeechDetection","audioState","setAudioState","isSoundDetected","audioLevel","useMicrophoneState","isEnabled","mediaStream","detector","start","state","then","stop"],"sourceRoot":"../../../src","sources":["hooks/useSpeechDetection.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAEEC,gBAAgB,QACX,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,iCAAiC;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGL,QAAQ,CAAqB;IAC/DM,eAAe,EAAE,KAAK;IACtBC,UAAU,EAAE;EACd,CAAC,CAAC;EACF,MAAM;IAAEC;EAAmB,CAAC,GAAGN,iBAAiB,CAAC,CAAC;EAClD,MAAM;IAAEO,SAAS;IAAEC;EAAY,CAAC,GAAGF,kBAAkB,CAAC,CAAC;EAEvDT,SAAS,CAAC,MAAM;IACd,IAAI,CAACU,SAAS,EAAE;IAEhB,MAAME,QAAQ,GAAG,IAAIV,gBAAgB,CAACS,WAAW,CAAC;IAClD,MAAME,KAAK,GAAGD,QAAQ,CAACC,KAAK,CAAEC,KAAyB,IAAK;MAC1DR,aAAa,CAACQ,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXD,KAAK,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;EACH,CAAC,EAAE,CAACL,WAAW,EAAED,SAAS,CAAC,CAAC;EAE5B,OAAOL,UAAU;AACnB","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import { type SoundDetectorState } from '@stream-io/video-client';
2
- /**
3
- * Hook that provides speech detection info using the RNSpeechDetector.
4
- *
5
- * @returns An object containing the current audio level (0 - 1) and whether sound is detected.
6
- */
7
- export declare function useSpeechDetection(): SoundDetectorState;
8
- //# sourceMappingURL=useSpeechDetection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSpeechDetection.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSpeechDetection.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,yBAAyB,CAAC;AAGjC;;;;GAIG;AACH,wBAAgB,kBAAkB,uBAsBjC"}
@@ -1,35 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import {
3
- type SoundDetectorState,
4
- RNSpeechDetector,
5
- } from '@stream-io/video-client';
6
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
7
-
8
- /**
9
- * Hook that provides speech detection info using the RNSpeechDetector.
10
- *
11
- * @returns An object containing the current audio level (0 - 1) and whether sound is detected.
12
- */
13
- export function useSpeechDetection() {
14
- const [audioState, setAudioState] = useState<SoundDetectorState>({
15
- isSoundDetected: false,
16
- audioLevel: 0,
17
- });
18
- const { useMicrophoneState } = useCallStateHooks();
19
- const { isEnabled, mediaStream } = useMicrophoneState();
20
-
21
- useEffect(() => {
22
- if (!isEnabled) return;
23
-
24
- const detector = new RNSpeechDetector(mediaStream);
25
- const start = detector.start((state: SoundDetectorState) => {
26
- setAudioState(state);
27
- });
28
-
29
- return () => {
30
- start.then((stop) => stop());
31
- };
32
- }, [mediaStream, isEnabled]);
33
-
34
- return audioState;
35
- }