@stream-io/video-react-native-sdk 1.16.1 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.17.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.17.0...@stream-io/video-react-native-sdk-1.17.1) (2025-06-20)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/video-client` updated to version `1.25.0`
10
+ - `@stream-io/video-react-bindings` updated to version `1.7.1`
11
+
12
+ ## [1.17.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.16.1...@stream-io/video-react-native-sdk-1.17.0) (2025-06-12)
13
+
14
+ ### Dependency Updates
15
+
16
+ - `@stream-io/noise-cancellation-react-native` updated to version `0.1.1`
17
+ - `@stream-io/video-filters-react-native` updated to version `0.5.0`
18
+ - `@stream-io/video-client` updated to version `1.24.0`
19
+ - `@stream-io/video-react-bindings` updated to version `1.7.0`
20
+
21
+ - update webrtc version ([162a8d2](https://github.com/GetStream/stream-video-js/commit/162a8d24216a28659759ea16fe48630cadb1536f))
22
+
23
+ ### Features
24
+
25
+ - add audio only ringing notification support for iOS ([#1821](https://github.com/GetStream/stream-video-js/issues/1821)) ([067081d](https://github.com/GetStream/stream-video-js/commit/067081da0032fb965b0401905b2413d3a0290f0e))
26
+ - moderation support ([#1822](https://github.com/GetStream/stream-video-js/issues/1822)) ([3948fae](https://github.com/GetStream/stream-video-js/commit/3948faeb2fa7ace8dd9c1df990f6e41e73fc0a26))
27
+
5
28
  ## [1.16.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.16.0...@stream-io/video-react-native-sdk-1.16.1) (2025-06-04)
6
29
 
7
30
  ### Dependency Updates
@@ -57,16 +57,17 @@ const BackgroundFiltersProvider = ({
57
57
  throw new Error("Install the '@stream-io/video-filters-react-native' library to use background filters");
58
58
  }
59
59
  const call = (0, _videoReactBindings.useCall)();
60
- const isBlurRegisteredRef = (0, _react.useRef)(false);
60
+ const isBackgroundBlurRegisteredRef = (0, _react.useRef)(false);
61
+ const isVideoBlurRegisteredRef = (0, _react.useRef)(false);
61
62
  const registeredImageFiltersSetRef = (0, _react.useRef)(new Set());
62
63
  const [currentBackgroundFilter, setCurrentBackgroundFilter] = (0, _react.useState)();
63
64
  const applyBackgroundBlurFilter = (0, _react.useCallback)(async blurIntensity => {
64
65
  if (!isSupported) {
65
66
  return;
66
67
  }
67
- if (!isBlurRegisteredRef.current) {
68
+ if (!isBackgroundBlurRegisteredRef.current) {
68
69
  await videoFiltersModule?.registerBackgroundBlurVideoFilters();
69
- isBlurRegisteredRef.current = true;
70
+ isBackgroundBlurRegisteredRef.current = true;
70
71
  }
71
72
  let filterName = 'BackgroundBlurMedium';
72
73
  if (blurIntensity === 'heavy') {
@@ -81,6 +82,27 @@ const BackgroundFiltersProvider = ({
81
82
  blur: blurIntensity
82
83
  });
83
84
  }, [call]);
85
+ const applyVideoBlurFilter = (0, _react.useCallback)(async blurIntensity => {
86
+ if (!isSupported) {
87
+ return;
88
+ }
89
+ if (!isVideoBlurRegisteredRef.current) {
90
+ await videoFiltersModule?.registerBlurVideoFilters();
91
+ isVideoBlurRegisteredRef.current = true;
92
+ }
93
+ let filterName = 'BlurMedium';
94
+ if (blurIntensity === 'heavy') {
95
+ filterName = 'BlurHeavy';
96
+ } else if (blurIntensity === 'light') {
97
+ filterName = 'BlurLight';
98
+ }
99
+ call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
100
+ track._setVideoEffect(filterName);
101
+ });
102
+ setCurrentBackgroundFilter({
103
+ blur: blurIntensity
104
+ });
105
+ }, [call]);
84
106
  const applyBackgroundImageFilter = (0, _react.useCallback)(async imageSource => {
85
107
  if (!isSupported) {
86
108
  return;
@@ -114,8 +136,9 @@ const BackgroundFiltersProvider = ({
114
136
  isSupported,
115
137
  applyBackgroundImageFilter,
116
138
  applyBackgroundBlurFilter,
139
+ applyVideoBlurFilter,
117
140
  disableAllFilters
118
- }), [applyBackgroundBlurFilter, applyBackgroundImageFilter, currentBackgroundFilter, disableAllFilters]);
141
+ }), [applyBackgroundBlurFilter, applyBackgroundImageFilter, applyVideoBlurFilter, currentBackgroundFilter, disableAllFilters]);
119
142
  return /*#__PURE__*/_react.default.createElement(BackgroundFiltersContext.Provider, {
120
143
  value: value
121
144
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isSupported","Platform","OS","currentVersion","parseInt","Version","videoFiltersModule","resolveAssetSourceFunc","Image","resolveAssetSource","BackgroundFiltersContext","createContext","undefined","useBackgroundFilters","context","useContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBlurRegisteredRef","useRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","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","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isSupported","Platform","OS","currentVersion","parseInt","Version","videoFiltersModule","resolveAssetSourceFunc","Image","resolveAssetSource","BackgroundFiltersContext","createContext","undefined","useBackgroundFilters","context","useContext","Error","exports","BackgroundFiltersProvider","children","useCall","isBackgroundBlurRegisteredRef","useRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","useState","applyBackgroundBlurFilter","useCallback","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","registerVirtualBackgroundFilter","add","image","disableAllFilters","value","useMemo","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","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.16.1';
7
+ const version = exports.version = '1.17.1';
8
8
  //# sourceMappingURL=version.js.map
@@ -49,16 +49,17 @@ export const BackgroundFiltersProvider = ({
49
49
  throw new Error("Install the '@stream-io/video-filters-react-native' library to use background filters");
50
50
  }
51
51
  const call = useCall();
52
- const isBlurRegisteredRef = useRef(false);
52
+ const isBackgroundBlurRegisteredRef = useRef(false);
53
+ const isVideoBlurRegisteredRef = useRef(false);
53
54
  const registeredImageFiltersSetRef = useRef(new Set());
54
55
  const [currentBackgroundFilter, setCurrentBackgroundFilter] = useState();
55
56
  const applyBackgroundBlurFilter = useCallback(async blurIntensity => {
56
57
  if (!isSupported) {
57
58
  return;
58
59
  }
59
- if (!isBlurRegisteredRef.current) {
60
+ if (!isBackgroundBlurRegisteredRef.current) {
60
61
  await videoFiltersModule?.registerBackgroundBlurVideoFilters();
61
- isBlurRegisteredRef.current = true;
62
+ isBackgroundBlurRegisteredRef.current = true;
62
63
  }
63
64
  let filterName = 'BackgroundBlurMedium';
64
65
  if (blurIntensity === 'heavy') {
@@ -73,6 +74,27 @@ export const BackgroundFiltersProvider = ({
73
74
  blur: blurIntensity
74
75
  });
75
76
  }, [call]);
77
+ const applyVideoBlurFilter = useCallback(async blurIntensity => {
78
+ if (!isSupported) {
79
+ return;
80
+ }
81
+ if (!isVideoBlurRegisteredRef.current) {
82
+ await videoFiltersModule?.registerBlurVideoFilters();
83
+ isVideoBlurRegisteredRef.current = true;
84
+ }
85
+ let filterName = 'BlurMedium';
86
+ if (blurIntensity === 'heavy') {
87
+ filterName = 'BlurHeavy';
88
+ } else if (blurIntensity === 'light') {
89
+ filterName = 'BlurLight';
90
+ }
91
+ call?.camera.state.mediaStream?.getVideoTracks().forEach(track => {
92
+ track._setVideoEffect(filterName);
93
+ });
94
+ setCurrentBackgroundFilter({
95
+ blur: blurIntensity
96
+ });
97
+ }, [call]);
76
98
  const applyBackgroundImageFilter = useCallback(async imageSource => {
77
99
  if (!isSupported) {
78
100
  return;
@@ -106,8 +128,9 @@ export const BackgroundFiltersProvider = ({
106
128
  isSupported,
107
129
  applyBackgroundImageFilter,
108
130
  applyBackgroundBlurFilter,
131
+ applyVideoBlurFilter,
109
132
  disableAllFilters
110
- }), [applyBackgroundBlurFilter, applyBackgroundImageFilter, currentBackgroundFilter, disableAllFilters]);
133
+ }), [applyBackgroundBlurFilter, applyBackgroundImageFilter, applyVideoBlurFilter, currentBackgroundFilter, disableAllFilters]);
111
134
  return /*#__PURE__*/React.createElement(BackgroundFiltersContext.Provider, {
112
135
  value: value
113
136
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useCallback","useContext","useMemo","useRef","useState","useCall","Image","Platform","isSupported","OS","currentVersion","parseInt","Version","videoFiltersModule","require","resolveAssetSourceFunc","resolveAssetSource","BackgroundFiltersContext","undefined","useBackgroundFilters","context","Error","BackgroundFiltersProvider","children","call","isBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","applyBackgroundBlurFilter","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","has","registerVirtualBackgroundFilter","add","image","disableAllFilters","value","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useMemo","useRef","useState","useCall","Image","Platform","isSupported","OS","currentVersion","parseInt","Version","videoFiltersModule","require","resolveAssetSourceFunc","resolveAssetSource","BackgroundFiltersContext","undefined","useBackgroundFilters","context","Error","BackgroundFiltersProvider","children","call","isBackgroundBlurRegisteredRef","isVideoBlurRegisteredRef","registeredImageFiltersSetRef","Set","currentBackgroundFilter","setCurrentBackgroundFilter","applyBackgroundBlurFilter","blurIntensity","current","registerBackgroundBlurVideoFilters","filterName","camera","state","mediaStream","getVideoTracks","forEach","track","_setVideoEffect","blur","applyVideoBlurFilter","registerBlurVideoFilters","applyBackgroundImageFilter","imageSource","source","imageUri","uri","registeredImageFiltersSet","has","registerVirtualBackgroundFilter","add","image","disableAllFilters","value","createElement","Provider"],"sourceRoot":"../../../src","sources":["contexts/BackgroundFilters.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.16.1';
1
+ export const version = '1.17.1';
2
2
  //# sourceMappingURL=version.js.map
@@ -29,6 +29,12 @@ export type BackgroundFiltersAPI = {
29
29
  * @param blurLevel the level of blur to apply to the background.
30
30
  */
31
31
  applyBackgroundBlurFilter: (blurIntensity: BlurIntensity) => void;
32
+ /**
33
+ * Applies a video blur filter to the video.
34
+ *
35
+ * @param blurIntensity the level of blur to apply to the video.
36
+ */
37
+ applyVideoBlurFilter: (blurIntensity: BlurIntensity) => void;
32
38
  /**
33
39
  * Disables all filters applied to the video.
34
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EAMvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAoB/C,QAAA,MAAM,sBAAsB,iCAA2B,CAAC;AAGxD,KAAK,eAAe,GAAG,OAAO,CAC5B,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,CAAC,GAAG,CAAC,CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,uBAAuB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,0BAA0B,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AASF;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,sBA6FxE,CAAC"}
1
+ {"version":3,"file":"BackgroundFilters.d.ts","sourceRoot":"","sources":["../../../src/contexts/BackgroundFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EAMvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAoB/C,QAAA,MAAM,sBAAsB,iCAA2B,CAAC;AAGxD,KAAK,eAAe,GAAG,OAAO,CAC5B,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAC5C,KAAK,CAAC,GAAG,CAAC,CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,uBAAuB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,0BAA0B,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;;;OAIG;IACH,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AASF;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAahC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,iBAAiB,sBA0HxE,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.16.1";
1
+ export declare const version = "1.17.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -288,6 +288,8 @@ function addDidReceiveIncomingPushCallbackSwift(contents) {
288
288
  }
289
289
 
290
290
  let uuid = UUID().uuidString
291
+ let videoIncluded = stream["video"] as? String
292
+ let hasVideo = videoIncluded == "false" ? false : true
291
293
 
292
294
  StreamVideoReactNative.registerIncomingCall(cid, uuid: uuid)
293
295
 
@@ -298,7 +300,7 @@ function addDidReceiveIncomingPushCallbackSwift(contents) {
298
300
  RNCallKeep.reportNewIncomingCall(uuid,
299
301
  handle: createdCallerName,
300
302
  handleType: "generic",
301
- hasVideo: true,
303
+ hasVideo: hasVideo,
302
304
  localizedCallerName: createdCallerName,
303
305
  supportsHolding: false,
304
306
  supportsDTMF: false,
@@ -335,6 +337,9 @@ function addDidReceiveIncomingPushCallbackObjc(contents) {
335
337
  NSString *uuid = [[NSUUID UUID] UUIDString];
336
338
  NSString *createdCallerName = stream[@"created_by_display_name"];
337
339
  NSString *cid = stream[@"call_cid"];
340
+
341
+ NSString *videoIncluded = stream[@"video"];
342
+ BOOL hasVideo = [videoIncluded isEqualToString:@"false"] ? NO : YES;
338
343
 
339
344
  // store the call cid and uuid in the native module's cache
340
345
  [StreamVideoReactNative registerIncomingCall:cid uuid:uuid];
@@ -349,7 +354,7 @@ function addDidReceiveIncomingPushCallbackObjc(contents) {
349
354
  [RNCallKeep reportNewIncomingCall: uuid
350
355
  handle: createdCallerName
351
356
  handleType: @"generic"
352
- hasVideo: YES
357
+ hasVideo: hasVideo
353
358
  localizedCallerName: createdCallerName
354
359
  supportsHolding: NO
355
360
  supportsDTMF: NO
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.16.1",
3
+ "version": "1.17.1",
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/",
@@ -45,8 +45,8 @@
45
45
  "!**/.*"
46
46
  ],
47
47
  "dependencies": {
48
- "@stream-io/video-client": "1.23.5",
49
- "@stream-io/video-react-bindings": "1.6.8",
48
+ "@stream-io/video-client": "1.25.0",
49
+ "@stream-io/video-react-bindings": "1.7.1",
50
50
  "intl-pluralrules": "2.0.1",
51
51
  "lodash.merge": "^4.6.2",
52
52
  "react-native-url-polyfill": "1.3.0",
@@ -126,8 +126,8 @@
126
126
  "@react-native-firebase/messaging": "^22.1.0",
127
127
  "@react-native/babel-preset": "^0.79.2",
128
128
  "@stream-io/noise-cancellation-react-native": "^0.1.1",
129
- "@stream-io/react-native-webrtc": "^125.3.0",
130
- "@stream-io/video-filters-react-native": "^0.4.0",
129
+ "@stream-io/react-native-webrtc": "^125.3.1",
130
+ "@stream-io/video-filters-react-native": "^0.5.0",
131
131
  "@testing-library/jest-native": "^5.4.3",
132
132
  "@testing-library/react-native": "13.2.0",
133
133
  "@tsconfig/node14": "14.1.3",
@@ -67,6 +67,12 @@ export type BackgroundFiltersAPI = {
67
67
  * @param blurLevel the level of blur to apply to the background.
68
68
  */
69
69
  applyBackgroundBlurFilter: (blurIntensity: BlurIntensity) => void;
70
+ /**
71
+ * Applies a video blur filter to the video.
72
+ *
73
+ * @param blurIntensity the level of blur to apply to the video.
74
+ */
75
+ applyVideoBlurFilter: (blurIntensity: BlurIntensity) => void;
70
76
  /**
71
77
  * Disables all filters applied to the video.
72
78
  */
@@ -111,8 +117,10 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
111
117
  );
112
118
  }
113
119
  const call = useCall();
114
- const isBlurRegisteredRef = useRef(false);
120
+ const isBackgroundBlurRegisteredRef = useRef(false);
121
+ const isVideoBlurRegisteredRef = useRef(false);
115
122
  const registeredImageFiltersSetRef = useRef(new Set<string>());
123
+
116
124
  const [currentBackgroundFilter, setCurrentBackgroundFilter] =
117
125
  useState<CurrentBackgroundFilter>();
118
126
 
@@ -121,9 +129,9 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
121
129
  if (!isSupported) {
122
130
  return;
123
131
  }
124
- if (!isBlurRegisteredRef.current) {
132
+ if (!isBackgroundBlurRegisteredRef.current) {
125
133
  await videoFiltersModule?.registerBackgroundBlurVideoFilters();
126
- isBlurRegisteredRef.current = true;
134
+ isBackgroundBlurRegisteredRef.current = true;
127
135
  }
128
136
  let filterName = 'BackgroundBlurMedium';
129
137
  if (blurIntensity === 'heavy') {
@@ -141,6 +149,31 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
141
149
  [call],
142
150
  );
143
151
 
152
+ const applyVideoBlurFilter = useCallback(
153
+ async (blurIntensity: BlurIntensity) => {
154
+ if (!isSupported) {
155
+ return;
156
+ }
157
+ if (!isVideoBlurRegisteredRef.current) {
158
+ await videoFiltersModule?.registerBlurVideoFilters();
159
+ isVideoBlurRegisteredRef.current = true;
160
+ }
161
+ let filterName = 'BlurMedium';
162
+ if (blurIntensity === 'heavy') {
163
+ filterName = 'BlurHeavy';
164
+ } else if (blurIntensity === 'light') {
165
+ filterName = 'BlurLight';
166
+ }
167
+ (call?.camera.state.mediaStream as MediaStream | undefined)
168
+ ?.getVideoTracks()
169
+ .forEach((track) => {
170
+ track._setVideoEffect(filterName);
171
+ });
172
+ setCurrentBackgroundFilter({ blur: blurIntensity });
173
+ },
174
+ [call],
175
+ );
176
+
144
177
  const applyBackgroundImageFilter = useCallback(
145
178
  async (imageSource: ImageSourceType) => {
146
179
  if (!isSupported) {
@@ -182,11 +215,13 @@ export const BackgroundFiltersProvider = ({ children }: PropsWithChildren) => {
182
215
  isSupported,
183
216
  applyBackgroundImageFilter,
184
217
  applyBackgroundBlurFilter,
218
+ applyVideoBlurFilter,
185
219
  disableAllFilters,
186
220
  }),
187
221
  [
188
222
  applyBackgroundBlurFilter,
189
223
  applyBackgroundImageFilter,
224
+ applyVideoBlurFilter,
190
225
  currentBackgroundFilter,
191
226
  disableAllFilters,
192
227
  ],
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.16.1';
1
+ export const version = '1.17.1';