@stream-io/video-filters-web 1.0.0-beta.0 → 1.0.0-beta.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -1
  3. package/dist/esm/index.js +1 -4
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/src/compatibility.js +1 -18
  6. package/dist/esm/src/compatibility.js.map +1 -1
  7. package/dist/esm/src/version.js +1 -1
  8. package/dist/index.cjs.js +1 -1559
  9. package/dist/index.cjs.js.map +1 -1
  10. package/dist/index.d.ts +0 -3
  11. package/dist/src/compatibility.d.ts +0 -5
  12. package/index.ts +0 -3
  13. package/package.json +2 -5
  14. package/src/compatibility.ts +0 -22
  15. package/dist/esm/src/legacy/createRenderer.js +0 -33
  16. package/dist/esm/src/legacy/createRenderer.js.map +0 -1
  17. package/dist/esm/src/legacy/helpers/webglHelper.js +0 -94
  18. package/dist/esm/src/legacy/helpers/webglHelper.js.map +0 -1
  19. package/dist/esm/src/legacy/segmentation.js +0 -14
  20. package/dist/esm/src/legacy/segmentation.js.map +0 -1
  21. package/dist/esm/src/legacy/tflite-simd.js +0 -728
  22. package/dist/esm/src/legacy/tflite-simd.js.map +0 -1
  23. package/dist/esm/src/legacy/tflite.js +0 -31
  24. package/dist/esm/src/legacy/tflite.js.map +0 -1
  25. package/dist/esm/src/legacy/webgl2/backgroundBlurStage.js +0 -202
  26. package/dist/esm/src/legacy/webgl2/backgroundBlurStage.js.map +0 -1
  27. package/dist/esm/src/legacy/webgl2/backgroundImageStage.js +0 -157
  28. package/dist/esm/src/legacy/webgl2/backgroundImageStage.js.map +0 -1
  29. package/dist/esm/src/legacy/webgl2/jointBilateralFilterStage.js +0 -113
  30. package/dist/esm/src/legacy/webgl2/jointBilateralFilterStage.js.map +0 -1
  31. package/dist/esm/src/legacy/webgl2/resizingStage.js +0 -57
  32. package/dist/esm/src/legacy/webgl2/resizingStage.js.map +0 -1
  33. package/dist/esm/src/legacy/webgl2/softmaxStage.js +0 -51
  34. package/dist/esm/src/legacy/webgl2/softmaxStage.js.map +0 -1
  35. package/dist/esm/src/legacy/webgl2/webgl2Pipeline.js +0 -105
  36. package/dist/esm/src/legacy/webgl2/webgl2Pipeline.js.map +0 -1
  37. package/dist/src/legacy/createRenderer.d.ts +0 -16
  38. package/dist/src/legacy/helpers/webglHelper.d.ts +0 -17
  39. package/dist/src/legacy/segmentation.d.ts +0 -9
  40. package/dist/src/legacy/tflite.d.ts +0 -18
  41. package/dist/src/legacy/webgl2/backgroundBlurStage.d.ts +0 -7
  42. package/dist/src/legacy/webgl2/backgroundImageStage.d.ts +0 -8
  43. package/dist/src/legacy/webgl2/jointBilateralFilterStage.d.ts +0 -7
  44. package/dist/src/legacy/webgl2/resizingStage.d.ts +0 -6
  45. package/dist/src/legacy/webgl2/softmaxStage.d.ts +0 -6
  46. package/dist/src/legacy/webgl2/webgl2Pipeline.d.ts +0 -8
  47. package/src/legacy/createRenderer.ts +0 -73
  48. package/src/legacy/helpers/webglHelper.ts +0 -144
  49. package/src/legacy/segmentation.ts +0 -18
  50. package/src/legacy/tflite-simd.js +0 -874
  51. package/src/legacy/tflite.ts +0 -59
  52. package/src/legacy/webgl2/backgroundBlurStage.ts +0 -315
  53. package/src/legacy/webgl2/backgroundImageStage.ts +0 -222
  54. package/src/legacy/webgl2/jointBilateralFilterStage.ts +0 -159
  55. package/src/legacy/webgl2/resizingStage.ts +0 -106
  56. package/src/legacy/webgl2/softmaxStage.ts +0 -103
  57. package/src/legacy/webgl2/webgl2Pipeline.ts +0 -203
  58. package/tf/models/segm_full_v679.tflite +0 -0
  59. package/tf/tflite/tflite-simd.wasm +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.0.0-beta.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-web-1.0.0-beta.0...@stream-io/video-filters-web-1.0.0-beta.1) (2026-10-16)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ - remove deprecated APIs and legacy code for v2 (#2498)
10
+
11
+ ### Features
12
+
13
+ - remove deprecated APIs and legacy code for v2 ([#2498](https://github.com/GetStream/stream-video-js/issues/2498)) ([7a20921](https://github.com/GetStream/stream-video-js/commit/7a209213d0eddb7ad8f1d21e55bd43910391666e)), closes [#2493](https://github.com/GetStream/stream-video-js/issues/2493)
14
+
5
15
  ## [1.0.0-beta.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-web-0.9.0...@stream-io/video-filters-web-1.0.0-beta.0) (2026-09-04)
6
16
 
7
17
  ## [0.9.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-web-0.8.7...@stream-io/video-filters-web-0.9.0) (2026-09-04)
package/README.md CHANGED
@@ -86,5 +86,5 @@ Notes:
86
86
 
87
87
  ## Known limitations
88
88
 
89
- - This library only works in a modern desktop browser that supports WebAssembly SIMD and WebGL.
89
+ - This library only works in a modern desktop browser that supports WebAssembly, WebGL2, OffscreenCanvas and the VideoFrame API.
90
90
  - Support for mobile browsers is not guaranteed and may not work as expected
package/dist/esm/index.js CHANGED
@@ -1,7 +1,4 @@
1
- export { isMediaPipePlatformSupported, isPlatformSupported } from './src/compatibility.js';
2
- export { createRenderer } from './src/legacy/createRenderer.js';
3
- export { SegmentationLevel } from './src/legacy/segmentation.js';
4
- export { loadTFLite } from './src/legacy/tflite.js';
1
+ export { isMediaPipePlatformSupported } from './src/compatibility.js';
5
2
  export { loadMediaPipe } from './src/mediapipe.js';
6
3
  export { BACKGROUND_BLUR_MAP } from './src/types.js';
7
4
  export { BaseVideoProcessor } from './src/BaseVideoProcessor.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,5 +1,3 @@
1
- import { simd } from 'wasm-feature-detect';
2
-
3
1
  /**
4
2
  * Checks if the current platform is a mobile device.
5
3
  *
@@ -11,21 +9,6 @@ const isMobile = () => /Mobi/i.test(navigator.userAgent);
11
9
  * Checks whether the current browser is Safari.
12
10
  */
13
11
  const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
14
- /**
15
- * Runs a check to see if the current platform supports
16
- * the necessary APIs required for the video filters.
17
- */
18
- const isPlatformSupported = async ({ forceMobileSupport = false, forceSafariSupport = false, } = {}) => typeof document !== 'undefined' &&
19
- typeof window !== 'undefined' &&
20
- typeof navigator !== 'undefined' &&
21
- // we don't support mobile devices yet due to performance issues
22
- (forceMobileSupport || !isMobile()) &&
23
- // Safari has issues with timer throttling, causing low FPS when the tab goes to the background
24
- (forceSafariSupport || !isSafari()) &&
25
- typeof WebAssembly !== 'undefined' &&
26
- !!window.WebGL2RenderingContext && // WebGL2 is required for the video filters
27
- !!document.createElement('canvas').getContext('webgl2') &&
28
- (await simd()); // SIMD is required for the wasm module
29
12
  /**
30
13
  * Runs a check to see if the current platform supports
31
14
  * the necessary APIs required for the MediaPipe-based video filters.
@@ -44,5 +27,5 @@ const isMediaPipePlatformSupported = async ({ forceMobileSupport = false, forceS
44
27
  typeof VideoFrame !== 'undefined' && // VideoFrame API is required for frame processing
45
28
  typeof createImageBitmap !== 'undefined'; // createImageBitmap is required for background image processing
46
29
 
47
- export { isMediaPipePlatformSupported, isPlatformSupported };
30
+ export { isMediaPipePlatformSupported };
48
31
  //# sourceMappingURL=compatibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility.js","sources":["../../../../../src/compatibility.ts"],"sourcesContent":["import { simd } from 'wasm-feature-detect';\n\nexport type PlatformSupportFlags = {\n /**\n * Forces support for mobile devices, although performance isn't optimal.\n */\n forceMobileSupport?: boolean;\n\n /**\n * Forces support for Safari, although in cases where the tab is put in the background,\n * the FPS can drop significantly or freeze completely due to intensive timer throttling.\n */\n forceSafariSupport?: boolean;\n};\n\n/**\n * Checks if the current platform is a mobile device.\n *\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent\n */\nconst isMobile = () => /Mobi/i.test(navigator.userAgent);\n\n/**\n * Checks whether the current browser is Safari.\n */\nconst isSafari = () =>\n /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n/**\n * Runs a check to see if the current platform supports\n * the necessary APIs required for the video filters.\n */\nexport const isPlatformSupported = async ({\n forceMobileSupport = false,\n forceSafariSupport = false,\n}: PlatformSupportFlags = {}) =>\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n // we don't support mobile devices yet due to performance issues\n (forceMobileSupport || !isMobile()) &&\n // Safari has issues with timer throttling, causing low FPS when the tab goes to the background\n (forceSafariSupport || !isSafari()) &&\n typeof WebAssembly !== 'undefined' &&\n !!window.WebGL2RenderingContext && // WebGL2 is required for the video filters\n !!document.createElement('canvas').getContext('webgl2') &&\n (await simd()); // SIMD is required for the wasm module\n\n/**\n * Runs a check to see if the current platform supports\n * the necessary APIs required for the MediaPipe-based video filters.\n */\nexport const isMediaPipePlatformSupported = async ({\n forceMobileSupport = false,\n forceSafariSupport = false,\n}: PlatformSupportFlags = {}) =>\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n // we don't support mobile devices yet due to performance issues\n (forceMobileSupport || !isMobile()) &&\n // Safari has issues with timer throttling, causing low FPS when the tab goes to the background\n (forceSafariSupport || !isSafari()) &&\n typeof WebAssembly !== 'undefined' &&\n typeof OffscreenCanvas !== 'undefined' && // OffscreenCanvas is required for efficient rendering\n !!window.WebGL2RenderingContext && // WebGL2 is required for the video filters\n !!new OffscreenCanvas(1, 1).getContext('webgl2') &&\n typeof VideoFrame !== 'undefined' && // VideoFrame API is required for frame processing\n typeof createImageBitmap !== 'undefined'; // createImageBitmap is required for background image processing\n"],"names":[],"mappings":";;AAeA;;;;;AAKG;AACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAExD;;AAEG;AACH,MAAM,QAAQ,GAAG,MACf,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAE5D;;;AAGG;MACU,mBAAmB,GAAG,OAAO,EACxC,kBAAkB,GAAG,KAAK,EAC1B,kBAAkB,GAAG,KAAK,MACF,EAAE,KAC1B,OAAO,QAAQ,KAAK,WAAW;IAC/B,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,SAAS,KAAK,WAAW;;AAEhC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAEnC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,WAAW,KAAK,WAAW;AAClC,IAAA,CAAC,CAAC,MAAM,CAAC,sBAAsB;IAC/B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AACvD,KAAC,MAAM,IAAI,EAAE,EAAE;AAEjB;;;AAGG;MACU,4BAA4B,GAAG,OAAO,EACjD,kBAAkB,GAAG,KAAK,EAC1B,kBAAkB,GAAG,KAAK,MACF,EAAE,KAC1B,OAAO,QAAQ,KAAK,WAAW;IAC/B,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,SAAS,KAAK,WAAW;;AAEhC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAEnC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,WAAW,KAAK,WAAW;AAClC,IAAA,OAAO,eAAe,KAAK,WAAW;AACtC,IAAA,CAAC,CAAC,MAAM,CAAC,sBAAsB;AAC/B,IAAA,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChD,IAAA,OAAO,UAAU,KAAK,WAAW;AACjC,IAAA,OAAO,iBAAiB,KAAK,YAAY;;;;"}
1
+ {"version":3,"file":"compatibility.js","sources":["../../../../../src/compatibility.ts"],"sourcesContent":["export type PlatformSupportFlags = {\n /**\n * Forces support for mobile devices, although performance isn't optimal.\n */\n forceMobileSupport?: boolean;\n\n /**\n * Forces support for Safari, although in cases where the tab is put in the background,\n * the FPS can drop significantly or freeze completely due to intensive timer throttling.\n */\n forceSafariSupport?: boolean;\n};\n\n/**\n * Checks if the current platform is a mobile device.\n *\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent\n */\nconst isMobile = () => /Mobi/i.test(navigator.userAgent);\n\n/**\n * Checks whether the current browser is Safari.\n */\nconst isSafari = () =>\n /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n/**\n * Runs a check to see if the current platform supports\n * the necessary APIs required for the MediaPipe-based video filters.\n */\nexport const isMediaPipePlatformSupported = async ({\n forceMobileSupport = false,\n forceSafariSupport = false,\n}: PlatformSupportFlags = {}) =>\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n // we don't support mobile devices yet due to performance issues\n (forceMobileSupport || !isMobile()) &&\n // Safari has issues with timer throttling, causing low FPS when the tab goes to the background\n (forceSafariSupport || !isSafari()) &&\n typeof WebAssembly !== 'undefined' &&\n typeof OffscreenCanvas !== 'undefined' && // OffscreenCanvas is required for efficient rendering\n !!window.WebGL2RenderingContext && // WebGL2 is required for the video filters\n !!new OffscreenCanvas(1, 1).getContext('webgl2') &&\n typeof VideoFrame !== 'undefined' && // VideoFrame API is required for frame processing\n typeof createImageBitmap !== 'undefined'; // createImageBitmap is required for background image processing\n"],"names":[],"mappings":"AAaA;;;;;AAKG;AACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAExD;;AAEG;AACH,MAAM,QAAQ,GAAG,MACf,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AAE5D;;;AAGG;MACU,4BAA4B,GAAG,OAAO,EACjD,kBAAkB,GAAG,KAAK,EAC1B,kBAAkB,GAAG,KAAK,MACF,EAAE,KAC1B,OAAO,QAAQ,KAAK,WAAW;IAC/B,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,SAAS,KAAK,WAAW;;AAEhC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAEnC,KAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,WAAW,KAAK,WAAW;AAClC,IAAA,OAAO,eAAe,KAAK,WAAW;AACtC,IAAA,CAAC,CAAC,MAAM,CAAC,sBAAsB;AAC/B,IAAA,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChD,IAAA,OAAO,UAAU,KAAK,WAAW;AACjC,IAAA,OAAO,iBAAiB,KAAK,YAAY;;;;"}
@@ -1,4 +1,4 @@
1
- const version = "1.0.0-beta.0";
1
+ const version = "1.0.0-beta.1";
2
2
  const packageName = "@stream-io/video-filters-web";
3
3
 
4
4
  export { packageName, version };