@stream-io/video-react-native-sdk 0.0.24 → 0.0.26

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 (32) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/commonjs/components/Call/CallControls/ToggleAudioPreviewButton.js +3 -6
  3. package/dist/commonjs/components/Call/CallControls/ToggleAudioPreviewButton.js.map +1 -1
  4. package/dist/commonjs/components/Call/CallControls/ToggleVideoPreviewButton.js +3 -6
  5. package/dist/commonjs/components/Call/CallControls/ToggleVideoPreviewButton.js.map +1 -1
  6. package/dist/commonjs/index.js +1 -8
  7. package/dist/commonjs/index.js.map +1 -1
  8. package/dist/commonjs/providers/MediaStreamManagement.js +35 -65
  9. package/dist/commonjs/providers/MediaStreamManagement.js.map +1 -1
  10. package/dist/commonjs/version.js +1 -1
  11. package/dist/module/components/Call/CallControls/ToggleAudioPreviewButton.js +4 -7
  12. package/dist/module/components/Call/CallControls/ToggleAudioPreviewButton.js.map +1 -1
  13. package/dist/module/components/Call/CallControls/ToggleVideoPreviewButton.js +4 -7
  14. package/dist/module/components/Call/CallControls/ToggleVideoPreviewButton.js.map +1 -1
  15. package/dist/module/index.js +1 -1
  16. package/dist/module/index.js.map +1 -1
  17. package/dist/module/providers/MediaStreamManagement.js +35 -65
  18. package/dist/module/providers/MediaStreamManagement.js.map +1 -1
  19. package/dist/module/version.js +1 -1
  20. package/dist/typescript/components/Call/CallControls/ToggleAudioPreviewButton.d.ts.map +1 -1
  21. package/dist/typescript/components/Call/CallControls/ToggleVideoPreviewButton.d.ts.map +1 -1
  22. package/dist/typescript/index.d.ts +1 -1
  23. package/dist/typescript/index.d.ts.map +1 -1
  24. package/dist/typescript/providers/MediaStreamManagement.d.ts +1 -24
  25. package/dist/typescript/providers/MediaStreamManagement.d.ts.map +1 -1
  26. package/dist/typescript/version.d.ts +1 -1
  27. package/package.json +3 -3
  28. package/src/components/Call/CallControls/ToggleAudioPreviewButton.tsx +4 -6
  29. package/src/components/Call/CallControls/ToggleVideoPreviewButton.tsx +4 -5
  30. package/src/index.ts +1 -6
  31. package/src/providers/MediaStreamManagement.tsx +39 -114
  32. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ### [0.0.26](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.0.25...@stream-io/video-react-native-sdk-0.0.26) (2023-09-28)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **react-native:** initial media stream management according to BE and SDK settings ([#1110](https://github.com/GetStream/stream-video-js/issues/1110)) ([cca7cf6](https://github.com/GetStream/stream-video-js/commit/cca7cf6d977a3a46e17deb73fa4f1b585d2039e8))
11
+
12
+ ### [0.0.25](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.0.24...@stream-io/video-react-native-sdk-0.0.25) (2023-09-28)
13
+
14
+ ### Dependency Updates
15
+
16
+ * `@stream-io/video-client` updated to version `0.1.0`
17
+ * `@stream-io/video-react-bindings` updated to version `0.2.28`
5
18
  ### [0.0.24](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.0.23...@stream-io/video-react-native-sdk-0.0.24) (2023-09-27)
6
19
 
7
20
  ### Dependency Updates
@@ -8,7 +8,6 @@ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _contexts = require("../../../contexts");
10
10
  var _icons = require("../../../icons");
11
- var _providers = require("../../../providers");
12
11
  var _CallControlsButton = require("./CallControlsButton");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
  /**
@@ -31,21 +30,19 @@ const ToggleAudioPreviewButton = _ref => {
31
30
  }
32
31
  }
33
32
  } = (0, _contexts.useTheme)();
33
+ const call = (0, _videoReactBindings.useCall)();
34
34
  const {
35
35
  useMicrophoneState
36
36
  } = (0, _videoReactBindings.useCallStateHooks)();
37
37
  const {
38
38
  status
39
39
  } = useMicrophoneState();
40
- const {
41
- toggleInitialAudioMuteState
42
- } = (0, _providers.useMediaStreamManagement)();
43
- const onPress = () => {
40
+ const onPress = async () => {
44
41
  if (onPressHandler) {
45
42
  onPressHandler();
46
43
  return;
47
44
  }
48
- toggleInitialAudioMuteState();
45
+ await (call === null || call === void 0 ? void 0 : call.microphone.toggle());
49
46
  };
50
47
  return /*#__PURE__*/_react.default.createElement(_CallControlsButton.CallControlsButton, {
51
48
  onPress: onPress,
@@ -1 +1 @@
1
- {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireDefault","_contexts","_icons","_providers","_CallControlsButton","obj","__esModule","default","ToggleAudioPreviewButton","_ref","onPressHandler","theme","colors","toggleAudioPreviewButton","variants","buttonSizes","useTheme","useMicrophoneState","useCallStateHooks","status","toggleInitialAudioMuteState","useMediaStreamManagement","onPress","createElement","CallControlsButton","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer","Mic","MicOff","exports"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAA0D,SAAAE,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D;AACA;AACA;;AASA;AACA;AACA;AACO,MAAMG,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAO,CAAC,GAAGF,kBAAkB,CAAC,CAAC;EAEvC,MAAM;IAAEG;EAA4B,CAAC,GAAG,IAAAC,mCAAwB,EAAC,CAAC;EAElE,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIZ,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACAU,2BAA2B,CAAC,CAAC;EAC/B,CAAC;EAED,oBACErB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACnB,mBAAA,CAAAoB,kBAAkB;IACjBF,OAAO,EAAEA,OAAQ;IACjBG,KAAK,EAAEN,MAAM,KAAK,SAAS,GAAGP,MAAM,CAACc,YAAY,GAAGd,MAAM,CAACe,YAAa;IACxEC,IAAI,EAAEb,WAAW,CAACc,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTb,MAAM,KAAK,SAAS,GAAGP,MAAM,CAACc,YAAY,GAAGd,MAAM,CAACe,YAAY;QAClE,GAAGd,wBAAwB,CAACkB;MAC9B,CAAC;MACDE,YAAY,EAAEpB,wBAAwB,CAACoB;IACzC;EAAE,GAEDd,MAAM,KAAK,SAAS,gBACnBpB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACrB,MAAA,CAAAgC,GAAG;IAACT,KAAK,EAAEb,MAAM,CAACe;EAAa,CAAE,CAAC,gBAEnC5B,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACrB,MAAA,CAAAiC,MAAM;IAACV,KAAK,EAAEb,MAAM,CAACc;EAAa,CAAE,CAErB,CAAC;AAEzB,CAAC;AAACU,OAAA,CAAA5B,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireDefault","_contexts","_icons","_CallControlsButton","obj","__esModule","default","ToggleAudioPreviewButton","_ref","onPressHandler","theme","colors","toggleAudioPreviewButton","variants","buttonSizes","useTheme","call","useCall","useMicrophoneState","useCallStateHooks","status","onPress","microphone","toggle","createElement","CallControlsButton","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer","Mic","MicOff","exports"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAA0D,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D;AACA;AACA;;AASA;AACA;AACA;AACO,MAAMG,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAO,CAAC,GAAGF,kBAAkB,CAAC,CAAC;EAEvC,MAAMG,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,IAAIZ,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACA,OAAMO,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,UAAU,CAACC,MAAM,CAAC,CAAC;EACjC,CAAC;EAED,oBACExB,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAACrB,mBAAA,CAAAsB,kBAAkB;IACjBJ,OAAO,EAAEA,OAAQ;IACjBK,KAAK,EAAEN,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACgB,YAAY,GAAGhB,MAAM,CAACiB,YAAa;IACxEC,IAAI,EAAEf,WAAW,CAACgB,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTb,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACgB,YAAY,GAAGhB,MAAM,CAACiB,YAAY;QAClE,GAAGhB,wBAAwB,CAACoB;MAC9B,CAAC;MACDE,YAAY,EAAEtB,wBAAwB,CAACsB;IACzC;EAAE,GAEDd,MAAM,KAAK,SAAS,gBACnBrB,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAACtB,MAAA,CAAAiC,GAAG;IAACT,KAAK,EAAEf,MAAM,CAACiB;EAAa,CAAE,CAAC,gBAEnC7B,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAACtB,MAAA,CAAAkC,MAAM;IAACV,KAAK,EAAEf,MAAM,CAACgB;EAAa,CAAE,CAErB,CAAC;AAEzB,CAAC;AAACU,OAAA,CAAA9B,wBAAA,GAAAA,wBAAA"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ToggleVideoPreviewButton = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _videoReactBindings = require("@stream-io/video-react-bindings");
9
- var _providers = require("../../../providers");
10
9
  var _contexts = require("../../../contexts");
11
10
  var _CallControlsButton = require("./CallControlsButton");
12
11
  var _icons = require("../../../icons");
@@ -31,21 +30,19 @@ const ToggleVideoPreviewButton = _ref => {
31
30
  }
32
31
  }
33
32
  } = (0, _contexts.useTheme)();
34
- const {
35
- toggleInitialVideoMuteState
36
- } = (0, _providers.useMediaStreamManagement)();
33
+ const call = (0, _videoReactBindings.useCall)();
37
34
  const {
38
35
  useCameraState
39
36
  } = (0, _videoReactBindings.useCallStateHooks)();
40
37
  const {
41
38
  status
42
39
  } = useCameraState();
43
- const onPress = () => {
40
+ const onPress = async () => {
44
41
  if (onPressHandler) {
45
42
  onPressHandler();
46
43
  return;
47
44
  }
48
- toggleInitialVideoMuteState();
45
+ await (call === null || call === void 0 ? void 0 : call.camera.toggle());
49
46
  };
50
47
  return /*#__PURE__*/_react.default.createElement(_CallControlsButton.CallControlsButton, {
51
48
  onPress: onPress,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_videoReactBindings","_providers","_contexts","_CallControlsButton","_icons","obj","__esModule","default","ToggleVideoPreviewButton","_ref","onPressHandler","theme","colors","toggleVideoPreviewButton","variants","buttonSizes","useTheme","toggleInitialVideoMuteState","useMediaStreamManagement","useCameraState","useCallStateHooks","status","onPress","createElement","CallControlsButton","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer","Video","VideoSlash","exports"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAAmD,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnD;AACA;AACA;;AASA;AACA;AACA;AACO,MAAMG,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAM;IAAEC;EAA4B,CAAC,GAAG,IAAAC,mCAAwB,EAAC,CAAC;EAClE,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAGF,cAAc,CAAC,CAAC;EACnC,MAAMG,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIZ,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACAO,2BAA2B,CAAC,CAAC;EAC/B,CAAC;EAED,oBACEpB,MAAA,CAAAU,OAAA,CAAAgB,aAAA,CAACpB,mBAAA,CAAAqB,kBAAkB;IACjBF,OAAO,EAAEA,OAAQ;IACjBG,KAAK,EAAEJ,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACc,YAAY,GAAGd,MAAM,CAACe,YAAa;IACxEC,IAAI,EAAEb,WAAW,CAACc,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTX,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACc,YAAY,GAAGd,MAAM,CAACe,YAAY;QAClE,GAAGd,wBAAwB,CAACkB;MAC9B,CAAC;MACDE,YAAY,EAAEpB,wBAAwB,CAACoB;IACzC;EAAE,GAEDZ,MAAM,KAAK,SAAS,gBACnBxB,MAAA,CAAAU,OAAA,CAAAgB,aAAA,CAACnB,MAAA,CAAA8B,KAAK;IAACT,KAAK,EAAEb,MAAM,CAACe;EAAa,CAAE,CAAC,gBAErC9B,MAAA,CAAAU,OAAA,CAAAgB,aAAA,CAACnB,MAAA,CAAA+B,UAAU;IAACV,KAAK,EAAEb,MAAM,CAACc;EAAa,CAAE,CAEzB,CAAC;AAEzB,CAAC;AAACU,OAAA,CAAA5B,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_videoReactBindings","_contexts","_CallControlsButton","_icons","obj","__esModule","default","ToggleVideoPreviewButton","_ref","onPressHandler","theme","colors","toggleVideoPreviewButton","variants","buttonSizes","useTheme","call","useCall","useCameraState","useCallStateHooks","status","onPress","camera","toggle","createElement","CallControlsButton","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer","Video","VideoSlash","exports"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnD;AACA;AACA;;AASA;AACA;AACA;AACO,MAAMG,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAGF,cAAc,CAAC,CAAC;EACnC,MAAMG,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,IAAIZ,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACA,OAAMO,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,MAAM,CAACC,MAAM,CAAC,CAAC;EAC7B,CAAC;EAED,oBACE1B,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACtB,mBAAA,CAAAuB,kBAAkB;IACjBJ,OAAO,EAAEA,OAAQ;IACjBK,KAAK,EAAEN,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACgB,YAAY,GAAGhB,MAAM,CAACiB,YAAa;IACxEC,IAAI,EAAEf,WAAW,CAACgB,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTb,MAAM,KAAK,SAAS,GAAGT,MAAM,CAACgB,YAAY,GAAGhB,MAAM,CAACiB,YAAY;QAClE,GAAGhB,wBAAwB,CAACoB;MAC9B,CAAC;MACDE,YAAY,EAAEtB,wBAAwB,CAACsB;IACzC;EAAE,GAEDd,MAAM,KAAK,SAAS,gBACnBvB,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACrB,MAAA,CAAAgC,KAAK;IAACT,KAAK,EAAEf,MAAM,CAACiB;EAAa,CAAE,CAAC,gBAErC/B,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACrB,MAAA,CAAAiC,UAAU;IAACV,KAAK,EAAEf,MAAM,CAACgB;EAAa,CAAE,CAEzB,CAAC;AAEzB,CAAC;AAACU,OAAA,CAAA9B,wBAAA,GAAAA,wBAAA"}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  StreamVideo: true,
8
8
  StreamCall: true,
9
- MediaStreamManagement: true,
10
- useMediaStreamManagement: true
9
+ MediaStreamManagement: true
11
10
  };
12
11
  Object.defineProperty(exports, "MediaStreamManagement", {
13
12
  enumerable: true,
@@ -27,12 +26,6 @@ Object.defineProperty(exports, "StreamVideo", {
27
26
  return _providers.StreamVideo;
28
27
  }
29
28
  });
30
- Object.defineProperty(exports, "useMediaStreamManagement", {
31
- enumerable: true,
32
- get: function () {
33
- return _providers.useMediaStreamManagement;
34
- }
35
- });
36
29
  var _setClientDetails = require("./utils/setClientDetails");
37
30
  require("text-encoding-polyfill");
38
31
  require("react-native-url-polyfill/auto");
@@ -1 +1 @@
1
- {"version":3,"names":["_setClientDetails","require","_reactNativeWebrtc","_Logger","_interopRequireDefault","_reactNative","_i18n","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_videoClient","_videoReactBindings","_components","_contexts","_hooks","_theme","_utils","_translations","_providers","obj","__esModule","default","Platform","OS","registerGlobals","Logger","enable","ROOT_PREFIX","setClientDetails"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_setClientDetails","require","_reactNativeWebrtc","_Logger","_interopRequireDefault","_reactNative","_i18n","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_videoClient","_videoReactBindings","_components","_contexts","_hooks","_theme","_utils","_translations","_providers","obj","__esModule","default","Platform","OS","registerGlobals","Logger","enable","ROOT_PREFIX","setClientDetails"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -3,22 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMediaStreamManagement = exports.MediaStreamManagement = void 0;
6
+ exports.MediaStreamManagement = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _videoReactBindings = require("@stream-io/video-react-bindings");
9
9
  var _hooks = require("../utils/hooks");
10
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
- /**
13
- * API to control device enablement, device selection and media stream access for a call.
14
- * @category Device Management
15
- */
16
-
17
- const MediaStreamContext = /*#__PURE__*/(0, _react.createContext)(null);
18
-
19
12
  /**
20
13
  *
21
- * Provides `MediaStreamManagementContextAPI` that allow the integrators to handle:
14
+ * Provides `MediaStreamManagement` wrapper that allow the integrators to handle:
22
15
  * 1. the initial device state enablement (for example in a custom lobby component)
23
16
  * 2. media stream publishing
24
17
  * @param params
@@ -50,99 +43,76 @@ const MediaStreamManagement = _ref => {
50
43
  initialAudioEnabled,
51
44
  initialVideoEnabled
52
45
  }, setInitialDeviceState] = (0, _react.useState)({
53
- initialAudioEnabled: !!propInitialAudioEnabled,
54
- initialVideoEnabled: !!propInitialVideoEnabled
46
+ initialAudioEnabled: undefined,
47
+ initialVideoEnabled: undefined
55
48
  });
56
49
  const settings = useCallSettings();
57
50
 
58
- // if prop is set, use that value.. the prop should override the backend settings
51
+ // Use backend settings to set initial audio/video enabled state
52
+ // It is applied only if the prop was undefined -- meaning user did not provide any value
59
53
  (0, _react.useEffect)(() => {
54
+ if (!settings) {
55
+ return;
56
+ }
57
+ const {
58
+ audio,
59
+ video
60
+ } = settings;
60
61
  setInitialDeviceState(prev => {
61
62
  let initAudio = prev.initialAudioEnabled;
62
- if (typeof propInitialAudioEnabled !== 'undefined') {
63
- initAudio = propInitialAudioEnabled;
63
+ if (typeof propInitialAudioEnabled === 'undefined') {
64
+ initAudio = audio.mic_default_on;
64
65
  }
65
66
  let initVideo = prev.initialVideoEnabled;
66
- if (typeof propInitialVideoEnabled !== 'undefined') {
67
- initVideo = propInitialVideoEnabled;
67
+ if (typeof propInitialVideoEnabled === 'undefined') {
68
+ initVideo = video.camera_default_on;
68
69
  }
69
70
  return {
70
71
  initialAudioEnabled: initAudio,
71
72
  initialVideoEnabled: initVideo
72
73
  };
73
74
  });
74
- }, [propInitialAudioEnabled, propInitialVideoEnabled]);
75
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
75
76
 
76
- // use backend settings to set initial audio/video enabled state
77
- // ONLY if the prop was undefined -- meaning user did not provide any value
77
+ // Apply SDK settings to set the initial audio/video enabled state
78
78
  (0, _react.useEffect)(() => {
79
- if (!settings) {
80
- return;
81
- }
82
- const {
83
- audio,
84
- video
85
- } = settings;
86
79
  setInitialDeviceState(prev => {
87
80
  let initAudio = prev.initialAudioEnabled;
88
- if (typeof propInitialAudioEnabled === 'undefined' && audio.mic_default_on) {
89
- initAudio = true;
81
+ if (typeof propInitialAudioEnabled !== 'undefined') {
82
+ initAudio = propInitialAudioEnabled;
90
83
  }
91
84
  let initVideo = prev.initialVideoEnabled;
92
- if (typeof propInitialVideoEnabled === 'undefined' && video.camera_default_on) {
93
- initVideo = true;
85
+ if (typeof propInitialVideoEnabled !== 'undefined') {
86
+ initVideo = propInitialVideoEnabled;
94
87
  }
95
88
  return {
96
89
  initialAudioEnabled: initAudio,
97
90
  initialVideoEnabled: initVideo
98
91
  };
99
92
  });
100
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
93
+ }, [propInitialAudioEnabled, propInitialVideoEnabled]);
101
94
 
102
95
  // The main logic
103
96
  // Enable or Disable the audio/video stream based on the initial state
104
97
  (0, _react.useEffect)(() => {
105
- if (initialAudioEnabled && ((call === null || call === void 0 ? void 0 : call.microphone.state.status) === undefined || (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'disabled')) {
98
+ if (initialAudioEnabled === undefined) {
99
+ return;
100
+ }
101
+ if (initialVideoEnabled === undefined) {
102
+ return;
103
+ }
104
+ if (initialAudioEnabled) {
106
105
  call === null || call === void 0 || call.microphone.enable();
107
- } else if (!initialAudioEnabled && (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'enabled') {
106
+ } else {
108
107
  call === null || call === void 0 || call.microphone.disable();
109
108
  }
110
- if (initialVideoEnabled && ((call === null || call === void 0 ? void 0 : call.camera.state.status) === undefined || (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'disabled')) {
109
+ if (initialVideoEnabled) {
111
110
  call === null || call === void 0 || call.camera.enable();
112
- } else if (!initialVideoEnabled && (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'enabled') {
111
+ } else {
113
112
  call === null || call === void 0 || call.camera.disable();
114
113
  }
115
114
  }, [call, initialAudioEnabled, initialVideoEnabled]);
116
- const toggleInitialAudioMuteState = (0, _react.useCallback)(() => {
117
- (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'enabled' ? call === null || call === void 0 ? void 0 : call.microphone.disable() : call === null || call === void 0 ? void 0 : call.microphone.enable();
118
- }, [call]);
119
- const toggleInitialVideoMuteState = (0, _react.useCallback)(() => {
120
- (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'enabled' ? call === null || call === void 0 ? void 0 : call.camera.disable() : call === null || call === void 0 ? void 0 : call.camera.enable();
121
- }, [call]);
122
- const contextValue = (0, _react.useMemo)(() => {
123
- return {
124
- toggleInitialAudioMuteState,
125
- toggleInitialVideoMuteState
126
- };
127
- }, [toggleInitialAudioMuteState, toggleInitialVideoMuteState]);
128
- return /*#__PURE__*/_react.default.createElement(MediaStreamContext.Provider, {
129
- value: contextValue
130
- }, children);
115
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
131
116
  };
132
-
133
- /**
134
- * Context consumer retrieving MediaStreamManagementContextAPI.
135
- * @returns
136
- *
137
- * @category Device Management
138
- */
139
117
  exports.MediaStreamManagement = MediaStreamManagement;
140
- const useMediaStreamManagement = () => {
141
- const value = (0, _react.useContext)(MediaStreamContext);
142
- if (!value) {
143
- console.warn('Null MediaDevicesContext');
144
- }
145
- return value;
146
- };
147
- exports.useMediaStreamManagement = useMediaStreamManagement;
148
118
  //# sourceMappingURL=MediaStreamManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_hooks","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MediaStreamContext","createContext","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","useCall","useCallSettings","useCallStateHooks","useAppStateListener","_call$camera","camera","resume","_call$camera2","disable","setInitialDeviceState","useState","settings","useEffect","prev","initAudio","initVideo","audio","video","mic_default_on","camera_default_on","microphone","state","status","undefined","enable","toggleInitialAudioMuteState","useCallback","toggleInitialVideoMuteState","contextValue","useMemo","createElement","Provider","value","exports","useMediaStreamManagement","useContext","console","warn"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAqD,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAarD;AACA;AACA;AACA;;AAcA,MAAMW,kBAAkB,gBACtB,IAAAC,oBAAa,EAAyC,IAAI,CAAC;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGC,IAAA,IAIc;EAAA,IAJb;IACpCC,mBAAmB,EAAEC,uBAAuB;IAC5CC,mBAAmB,EAAEC,uBAAuB;IAC5CC;EAC2C,CAAC,GAAAL,IAAA;EAC5C,MAAMN,IAAI,GAAG,IAAAY,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;;EAE/C;EACA;EACA,IAAAC,0BAAmB,EACjB,MAAM;IAAA,IAAAC,YAAA;IACJhB,IAAI,aAAJA,IAAI,gBAAAgB,YAAA,GAAJhB,IAAI,CAAEiB,MAAM,cAAAD,YAAA,eAAZA,YAAA,CAAcE,MAAM,CAAC,CAAC;EACxB,CAAC,EACD,MAAM;IAAA,IAAAC,aAAA;IACJnB,IAAI,aAAJA,IAAI,gBAAAmB,aAAA,GAAJnB,IAAI,CAAEiB,MAAM,cAAAE,aAAA,eAAZA,aAAA,CAAcC,OAAO,CAAC,CAAC;EACzB,CACF,CAAC;EAED,MAAM,CAAC;IAAEb,mBAAmB;IAAEE;EAAoB,CAAC,EAAEY,qBAAqB,CAAC,GACzE,IAAAC,eAAQ,EAAC;IACPf,mBAAmB,EAAE,CAAC,CAACC,uBAAuB;IAC9CC,mBAAmB,EAAE,CAAC,CAACC;EACzB,CAAC,CAAC;EAEJ,MAAMa,QAAQ,GAAGV,eAAe,CAAC,CAAC;;EAElC;EACA,IAAAW,gBAAS,EAAC,MAAM;IACdH,qBAAqB,CAAEI,IAAI,IAAK;MAC9B,IAAIC,SAAS,GAAGD,IAAI,CAAClB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDkB,SAAS,GAAGlB,uBAAuB;MACrC;MACA,IAAImB,SAAS,GAAGF,IAAI,CAAChB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDiB,SAAS,GAAGjB,uBAAuB;MACrC;MACA,OAAO;QAAEH,mBAAmB,EAAEmB,SAAS;QAAEjB,mBAAmB,EAAEkB;MAAU,CAAC;IAC3E,CAAC,CAAC;EACJ,CAAC,EAAE,CAACnB,uBAAuB,EAAEE,uBAAuB,CAAC,CAAC;;EAEtD;EACA;EACA,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAM,CAAC,GAAGN,QAAQ;IACjCF,qBAAqB,CAAEI,IAAI,IAAK;MAC9B,IAAIC,SAAS,GAAGD,IAAI,CAAClB,mBAAmB;MACxC,IACE,OAAOC,uBAAuB,KAAK,WAAW,IAC9CoB,KAAK,CAACE,cAAc,EACpB;QACAJ,SAAS,GAAG,IAAI;MAClB;MACA,IAAIC,SAAS,GAAGF,IAAI,CAAChB,mBAAmB;MACxC,IACE,OAAOC,uBAAuB,KAAK,WAAW,IAC9CmB,KAAK,CAACE,iBAAiB,EACvB;QACAJ,SAAS,GAAG,IAAI;MAClB;MACA,OAAO;QAAEpB,mBAAmB,EAAEmB,SAAS;QAAEjB,mBAAmB,EAAEkB;MAAU,CAAC;IAC3E,CAAC,CAAC;EACJ,CAAC,EAAE,CAACnB,uBAAuB,EAAEE,uBAAuB,EAAEa,QAAQ,CAAC,CAAC;;EAEhE;EACA;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IACEjB,mBAAmB,KAClB,CAAAP,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACC,KAAK,CAACC,MAAM,MAAKC,SAAS,IAC1C,CAAAnC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACC,KAAK,CAACC,MAAM,MAAK,UAAU,CAAC,EAC/C;MACAlC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgC,UAAU,CAACI,MAAM,CAAC,CAAC;IAC3B,CAAC,MAAM,IACL,CAAC7B,mBAAmB,IACpB,CAAAP,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACC,KAAK,CAACC,MAAM,MAAK,SAAS,EAC3C;MACAlC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgC,UAAU,CAACZ,OAAO,CAAC,CAAC;IAC5B;IAEA,IACEX,mBAAmB,KAClB,CAAAT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACgB,KAAK,CAACC,MAAM,MAAKC,SAAS,IACtC,CAAAnC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACgB,KAAK,CAACC,MAAM,MAAK,UAAU,CAAC,EAC3C;MACAlC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEiB,MAAM,CAACmB,MAAM,CAAC,CAAC;IACvB,CAAC,MAAM,IACL,CAAC3B,mBAAmB,IACpB,CAAAT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACgB,KAAK,CAACC,MAAM,MAAK,SAAS,EACvC;MACAlC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEiB,MAAM,CAACG,OAAO,CAAC,CAAC;IACxB;EACF,CAAC,EAAE,CAACpB,IAAI,EAAEO,mBAAmB,EAAEE,mBAAmB,CAAC,CAAC;EAEpD,MAAM4B,2BAA2B,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpD,CAAAtC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACC,KAAK,CAACC,MAAM,MAAK,SAAS,GACvClC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACZ,OAAO,CAAC,CAAC,GAC1BpB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,UAAU,CAACI,MAAM,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACpC,IAAI,CAAC,CAAC;EAEV,MAAMuC,2BAA2B,GAAG,IAAAD,kBAAW,EAAC,MAAM;IACpD,CAAAtC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACgB,KAAK,CAACC,MAAM,MAAK,SAAS,GACnClC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACG,OAAO,CAAC,CAAC,GACtBpB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,MAAM,CAACmB,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACpC,IAAI,CAAC,CAAC;EAEV,MAAMwC,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM;IACjC,OAAO;MACLJ,2BAA2B;MAC3BE;IACF,CAAC;EACH,CAAC,EAAE,CAACF,2BAA2B,EAAEE,2BAA2B,CAAC,CAAC;EAE9D,oBACE/D,MAAA,CAAAY,OAAA,CAAAsD,aAAA,CAACvC,kBAAkB,CAACwC,QAAQ;IAACC,KAAK,EAAEJ;EAAa,GAC9C7B,QAC0B,CAAC;AAElC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAkC,OAAA,CAAAxC,qBAAA,GAAAA,qBAAA;AAMO,MAAMyC,wBAAwB,GAAGA,CAAA,KAAM;EAC5C,MAAMF,KAAK,GAAG,IAAAG,iBAAU,EAAC5C,kBAAkB,CAAC;EAC5C,IAAI,CAACyC,KAAK,EAAE;IACVI,OAAO,CAACC,IAAI,CAAC,0BAA0B,CAAC;EAC1C;EACA,OAAOL,KAAK;AACd,CAAC;AAACC,OAAA,CAAAC,wBAAA,GAAAA,wBAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_hooks","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","useCall","useCallSettings","useCallStateHooks","useAppStateListener","_call$camera","camera","resume","_call$camera2","disable","setInitialDeviceState","useState","undefined","settings","useEffect","audio","video","prev","initAudio","mic_default_on","initVideo","camera_default_on","microphone","enable","createElement","Fragment","exports"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = '0.0.24';
7
+ const version = '0.0.26';
8
8
  exports.version = version;
9
9
  //# sourceMappingURL=version.js.map
@@ -1,8 +1,7 @@
1
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
1
+ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
2
2
  import React from 'react';
3
3
  import { useTheme } from '../../../contexts';
4
4
  import { Mic, MicOff } from '../../../icons';
5
- import { useMediaStreamManagement } from '../../../providers';
6
5
  import { CallControlsButton } from './CallControlsButton';
7
6
 
8
7
  /**
@@ -25,21 +24,19 @@ export const ToggleAudioPreviewButton = _ref => {
25
24
  }
26
25
  }
27
26
  } = useTheme();
27
+ const call = useCall();
28
28
  const {
29
29
  useMicrophoneState
30
30
  } = useCallStateHooks();
31
31
  const {
32
32
  status
33
33
  } = useMicrophoneState();
34
- const {
35
- toggleInitialAudioMuteState
36
- } = useMediaStreamManagement();
37
- const onPress = () => {
34
+ const onPress = async () => {
38
35
  if (onPressHandler) {
39
36
  onPressHandler();
40
37
  return;
41
38
  }
42
- toggleInitialAudioMuteState();
39
+ await (call === null || call === void 0 ? void 0 : call.microphone.toggle());
43
40
  };
44
41
  return /*#__PURE__*/React.createElement(CallControlsButton, {
45
42
  onPress: onPress,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallStateHooks","React","useTheme","Mic","MicOff","useMediaStreamManagement","CallControlsButton","ToggleAudioPreviewButton","_ref","onPressHandler","theme","colors","toggleAudioPreviewButton","variants","buttonSizes","useMicrophoneState","status","toggleInitialAudioMuteState","onPress","createElement","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,iCAAiC;AACnE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,GAAG,EAAEC,MAAM,QAAQ,gBAAgB;AAC5C,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,kBAAkB,QAAQ,sBAAsB;;AAEzD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAGZ,QAAQ,CAAC,CAAC;EACd,MAAM;IAAEa;EAAmB,CAAC,GAAGf,iBAAiB,CAAC,CAAC;EAClD,MAAM;IAAEgB;EAAO,CAAC,GAAGD,kBAAkB,CAAC,CAAC;EAEvC,MAAM;IAAEE;EAA4B,CAAC,GAAGZ,wBAAwB,CAAC,CAAC;EAElE,MAAMa,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIT,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACAQ,2BAA2B,CAAC,CAAC;EAC/B,CAAC;EAED,oBACEhB,KAAA,CAAAkB,aAAA,CAACb,kBAAkB;IACjBY,OAAO,EAAEA,OAAQ;IACjBE,KAAK,EAAEJ,MAAM,KAAK,SAAS,GAAGL,MAAM,CAACU,YAAY,GAAGV,MAAM,CAACW,YAAa;IACxEC,IAAI,EAAET,WAAW,CAACU,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTX,MAAM,KAAK,SAAS,GAAGL,MAAM,CAACU,YAAY,GAAGV,MAAM,CAACW,YAAY;QAClE,GAAGV,wBAAwB,CAACc;MAC9B,CAAC;MACDE,YAAY,EAAEhB,wBAAwB,CAACgB;IACzC;EAAE,GAEDZ,MAAM,KAAK,SAAS,gBACnBf,KAAA,CAAAkB,aAAA,CAAChB,GAAG;IAACiB,KAAK,EAAET,MAAM,CAACW;EAAa,CAAE,CAAC,gBAEnCrB,KAAA,CAAAkB,aAAA,CAACf,MAAM;IAACgB,KAAK,EAAET,MAAM,CAACU;EAAa,CAAE,CAErB,CAAC;AAEzB,CAAC"}
1
+ {"version":3,"names":["useCall","useCallStateHooks","React","useTheme","Mic","MicOff","CallControlsButton","ToggleAudioPreviewButton","_ref","onPressHandler","theme","colors","toggleAudioPreviewButton","variants","buttonSizes","call","useMicrophoneState","status","onPress","microphone","toggle","createElement","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"mappings":"AAAA,SAASA,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,GAAG,EAAEC,MAAM,QAAQ,gBAAgB;AAC5C,SAASC,kBAAkB,QAAQ,sBAAsB;;AAEzD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAGX,QAAQ,CAAC,CAAC;EACd,MAAMY,IAAI,GAAGf,OAAO,CAAC,CAAC;EACtB,MAAM;IAAEgB;EAAmB,CAAC,GAAGf,iBAAiB,CAAC,CAAC;EAClD,MAAM;IAAEgB;EAAO,CAAC,GAAGD,kBAAkB,CAAC,CAAC;EAEvC,MAAME,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,IAAIT,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACA,OAAMM,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,UAAU,CAACC,MAAM,CAAC,CAAC;EACjC,CAAC;EAED,oBACElB,KAAA,CAAAmB,aAAA,CAACf,kBAAkB;IACjBY,OAAO,EAAEA,OAAQ;IACjBI,KAAK,EAAEL,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACY,YAAY,GAAGZ,MAAM,CAACa,YAAa;IACxEC,IAAI,EAAEX,WAAW,CAACY,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTZ,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACY,YAAY,GAAGZ,MAAM,CAACa,YAAY;QAClE,GAAGZ,wBAAwB,CAACgB;MAC9B,CAAC;MACDE,YAAY,EAAElB,wBAAwB,CAACkB;IACzC;EAAE,GAEDb,MAAM,KAAK,SAAS,gBACnBf,KAAA,CAAAmB,aAAA,CAACjB,GAAG;IAACkB,KAAK,EAAEX,MAAM,CAACa;EAAa,CAAE,CAAC,gBAEnCtB,KAAA,CAAAmB,aAAA,CAAChB,MAAM;IAACiB,KAAK,EAAEX,MAAM,CAACY;EAAa,CAAE,CAErB,CAAC;AAEzB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
3
- import { useMediaStreamManagement } from '../../../providers';
2
+ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
4
3
  import { useTheme } from '../../../contexts';
5
4
  import { CallControlsButton } from './CallControlsButton';
6
5
  import { Video, VideoSlash } from '../../../icons';
@@ -25,21 +24,19 @@ export const ToggleVideoPreviewButton = _ref => {
25
24
  }
26
25
  }
27
26
  } = useTheme();
28
- const {
29
- toggleInitialVideoMuteState
30
- } = useMediaStreamManagement();
27
+ const call = useCall();
31
28
  const {
32
29
  useCameraState
33
30
  } = useCallStateHooks();
34
31
  const {
35
32
  status
36
33
  } = useCameraState();
37
- const onPress = () => {
34
+ const onPress = async () => {
38
35
  if (onPressHandler) {
39
36
  onPressHandler();
40
37
  return;
41
38
  }
42
- toggleInitialVideoMuteState();
39
+ await (call === null || call === void 0 ? void 0 : call.camera.toggle());
43
40
  };
44
41
  return /*#__PURE__*/React.createElement(CallControlsButton, {
45
42
  onPress: onPress,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallStateHooks","useMediaStreamManagement","useTheme","CallControlsButton","Video","VideoSlash","ToggleVideoPreviewButton","_ref","onPressHandler","theme","colors","toggleVideoPreviewButton","variants","buttonSizes","toggleInitialVideoMuteState","useCameraState","status","onPress","createElement","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,iCAAiC;AACnE,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,KAAK,EAAEC,UAAU,QAAQ,gBAAgB;;AAElD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAGX,QAAQ,CAAC,CAAC;EACd,MAAM;IAAEY;EAA4B,CAAC,GAAGb,wBAAwB,CAAC,CAAC;EAClE,MAAM;IAAEc;EAAe,CAAC,GAAGf,iBAAiB,CAAC,CAAC;EAC9C,MAAM;IAAEgB;EAAO,CAAC,GAAGD,cAAc,CAAC,CAAC;EACnC,MAAME,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIT,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACAM,2BAA2B,CAAC,CAAC;EAC/B,CAAC;EAED,oBACEf,KAAA,CAAAmB,aAAA,CAACf,kBAAkB;IACjBc,OAAO,EAAEA,OAAQ;IACjBE,KAAK,EAAEH,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACU,YAAY,GAAGV,MAAM,CAACW,YAAa;IACxEC,IAAI,EAAET,WAAW,CAACU,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTV,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACU,YAAY,GAAGV,MAAM,CAACW,YAAY;QAClE,GAAGV,wBAAwB,CAACc;MAC9B,CAAC;MACDE,YAAY,EAAEhB,wBAAwB,CAACgB;IACzC;EAAE,GAEDX,MAAM,KAAK,SAAS,gBACnBjB,KAAA,CAAAmB,aAAA,CAACd,KAAK;IAACe,KAAK,EAAET,MAAM,CAACW;EAAa,CAAE,CAAC,gBAErCtB,KAAA,CAAAmB,aAAA,CAACb,UAAU;IAACc,KAAK,EAAET,MAAM,CAACU;EAAa,CAAE,CAEzB,CAAC;AAEzB,CAAC"}
1
+ {"version":3,"names":["React","useCall","useCallStateHooks","useTheme","CallControlsButton","Video","VideoSlash","ToggleVideoPreviewButton","_ref","onPressHandler","theme","colors","toggleVideoPreviewButton","variants","buttonSizes","call","useCameraState","status","onPress","camera","toggle","createElement","color","static_white","static_black","size","md","style","container","shadowColor","svgContainer"],"sourceRoot":"../../../../../src","sources":["components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,KAAK,EAAEC,UAAU,QAAQ,gBAAgB;;AAElD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACvCC;EAC6B,CAAC,GAAAD,IAAA;EAC9B,MAAM;IACJE,KAAK,EAAE;MACLC,MAAM;MACNC,wBAAwB;MACxBC,QAAQ,EAAE;QAAEC;MAAY;IAC1B;EACF,CAAC,GAAGX,QAAQ,CAAC,CAAC;EACd,MAAMY,IAAI,GAAGd,OAAO,CAAC,CAAC;EACtB,MAAM;IAAEe;EAAe,CAAC,GAAGd,iBAAiB,CAAC,CAAC;EAC9C,MAAM;IAAEe;EAAO,CAAC,GAAGD,cAAc,CAAC,CAAC;EACnC,MAAME,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,IAAIT,cAAc,EAAE;MAClBA,cAAc,CAAC,CAAC;MAChB;IACF;IACA,OAAMM,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,MAAM,CAACC,MAAM,CAAC,CAAC;EAC7B,CAAC;EAED,oBACEpB,KAAA,CAAAqB,aAAA,CAACjB,kBAAkB;IACjBc,OAAO,EAAEA,OAAQ;IACjBI,KAAK,EAAEL,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACY,YAAY,GAAGZ,MAAM,CAACa,YAAa;IACxEC,IAAI,EAAEX,WAAW,CAACY,EAAG;IACrBC,KAAK,EAAE;MACLC,SAAS,EAAE;QACTC,WAAW,EACTZ,MAAM,KAAK,SAAS,GAAGN,MAAM,CAACY,YAAY,GAAGZ,MAAM,CAACa,YAAY;QAClE,GAAGZ,wBAAwB,CAACgB;MAC9B,CAAC;MACDE,YAAY,EAAElB,wBAAwB,CAACkB;IACzC;EAAE,GAEDb,MAAM,KAAK,SAAS,gBACnBjB,KAAA,CAAAqB,aAAA,CAAChB,KAAK;IAACiB,KAAK,EAAEX,MAAM,CAACa;EAAa,CAAE,CAAC,gBAErCxB,KAAA,CAAAqB,aAAA,CAACf,UAAU;IAACgB,KAAK,EAAEX,MAAM,CAACY;EAAa,CAAE,CAEzB,CAAC;AAEzB,CAAC"}
@@ -30,6 +30,6 @@ export * from './translations';
30
30
 
31
31
  // Overriding 'StreamVideo' from '@stream-io/video-react-bindings'
32
32
  // Explicitly re-exporting to resolve ambiguity.
33
- export { StreamVideo, StreamCall, MediaStreamManagement, useMediaStreamManagement } from './providers';
33
+ export { StreamVideo, StreamCall, MediaStreamManagement } from './providers';
34
34
  setClientDetails();
35
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["setClientDetails","registerGlobals","Logger","Platform","OS","enable","ROOT_PREFIX","StreamVideo","StreamCall","MediaStreamManagement","useMediaStreamManagement"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,0BAA0B;AAC3D;AACA,OAAO,wBAAwB;AAC/B;AACA,OAAO,gCAAgC;AACvC;AACA,OAAO,kBAAkB;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,OAAOC,MAAM,MAAM,2CAA2C;AAC9D,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA,IAAIA,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EACzBH,eAAe,CAAC,CAAC;AACnB;;AAEA;AACAC,MAAM,CAACG,MAAM,CAAE,GAAEH,MAAM,CAACI,WAAY,eAAc,CAAC;AAEnD,cAAc,iBAAiB;AAC/B,cAAc,yBAAyB;AACvC,cAAc,iCAAiC;AAC/C,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,gBAAgB;;AAE9B;AACA;AACA,SACEC,WAAW,EACXC,UAAU,EACVC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAEpBV,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"names":["setClientDetails","registerGlobals","Logger","Platform","OS","enable","ROOT_PREFIX","StreamVideo","StreamCall","MediaStreamManagement"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,0BAA0B;AAC3D;AACA,OAAO,wBAAwB;AAC/B;AACA,OAAO,gCAAgC;AACvC;AACA,OAAO,kBAAkB;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,OAAOC,MAAM,MAAM,2CAA2C;AAC9D,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA,IAAIA,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EACzBH,eAAe,CAAC,CAAC;AACnB;;AAEA;AACAC,MAAM,CAACG,MAAM,CAAE,GAAEH,MAAM,CAACI,WAAY,eAAc,CAAC;AAEnD,cAAc,iBAAiB;AAC/B,cAAc,yBAAyB;AACvC,cAAc,iCAAiC;AAC/C,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,gBAAgB;;AAE9B;AACA;AACA,SAASC,WAAW,EAAEC,UAAU,EAAEC,qBAAqB,QAAQ,aAAa;AAE5ET,gBAAgB,CAAC,CAAC"}
@@ -1,17 +1,9 @@
1
- import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
1
+ import React, { useEffect, useState } from 'react';
2
2
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
3
3
  import { useAppStateListener } from '../utils/hooks';
4
-
5
- /**
6
- * API to control device enablement, device selection and media stream access for a call.
7
- * @category Device Management
8
- */
9
-
10
- const MediaStreamContext = /*#__PURE__*/createContext(null);
11
-
12
4
  /**
13
5
  *
14
- * Provides `MediaStreamManagementContextAPI` that allow the integrators to handle:
6
+ * Provides `MediaStreamManagement` wrapper that allow the integrators to handle:
15
7
  * 1. the initial device state enablement (for example in a custom lobby component)
16
8
  * 2. media stream publishing
17
9
  * @param params
@@ -43,97 +35,75 @@ export const MediaStreamManagement = _ref => {
43
35
  initialAudioEnabled,
44
36
  initialVideoEnabled
45
37
  }, setInitialDeviceState] = useState({
46
- initialAudioEnabled: !!propInitialAudioEnabled,
47
- initialVideoEnabled: !!propInitialVideoEnabled
38
+ initialAudioEnabled: undefined,
39
+ initialVideoEnabled: undefined
48
40
  });
49
41
  const settings = useCallSettings();
50
42
 
51
- // if prop is set, use that value.. the prop should override the backend settings
43
+ // Use backend settings to set initial audio/video enabled state
44
+ // It is applied only if the prop was undefined -- meaning user did not provide any value
52
45
  useEffect(() => {
46
+ if (!settings) {
47
+ return;
48
+ }
49
+ const {
50
+ audio,
51
+ video
52
+ } = settings;
53
53
  setInitialDeviceState(prev => {
54
54
  let initAudio = prev.initialAudioEnabled;
55
- if (typeof propInitialAudioEnabled !== 'undefined') {
56
- initAudio = propInitialAudioEnabled;
55
+ if (typeof propInitialAudioEnabled === 'undefined') {
56
+ initAudio = audio.mic_default_on;
57
57
  }
58
58
  let initVideo = prev.initialVideoEnabled;
59
- if (typeof propInitialVideoEnabled !== 'undefined') {
60
- initVideo = propInitialVideoEnabled;
59
+ if (typeof propInitialVideoEnabled === 'undefined') {
60
+ initVideo = video.camera_default_on;
61
61
  }
62
62
  return {
63
63
  initialAudioEnabled: initAudio,
64
64
  initialVideoEnabled: initVideo
65
65
  };
66
66
  });
67
- }, [propInitialAudioEnabled, propInitialVideoEnabled]);
67
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
68
68
 
69
- // use backend settings to set initial audio/video enabled state
70
- // ONLY if the prop was undefined -- meaning user did not provide any value
69
+ // Apply SDK settings to set the initial audio/video enabled state
71
70
  useEffect(() => {
72
- if (!settings) {
73
- return;
74
- }
75
- const {
76
- audio,
77
- video
78
- } = settings;
79
71
  setInitialDeviceState(prev => {
80
72
  let initAudio = prev.initialAudioEnabled;
81
- if (typeof propInitialAudioEnabled === 'undefined' && audio.mic_default_on) {
82
- initAudio = true;
73
+ if (typeof propInitialAudioEnabled !== 'undefined') {
74
+ initAudio = propInitialAudioEnabled;
83
75
  }
84
76
  let initVideo = prev.initialVideoEnabled;
85
- if (typeof propInitialVideoEnabled === 'undefined' && video.camera_default_on) {
86
- initVideo = true;
77
+ if (typeof propInitialVideoEnabled !== 'undefined') {
78
+ initVideo = propInitialVideoEnabled;
87
79
  }
88
80
  return {
89
81
  initialAudioEnabled: initAudio,
90
82
  initialVideoEnabled: initVideo
91
83
  };
92
84
  });
93
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
85
+ }, [propInitialAudioEnabled, propInitialVideoEnabled]);
94
86
 
95
87
  // The main logic
96
88
  // Enable or Disable the audio/video stream based on the initial state
97
89
  useEffect(() => {
98
- if (initialAudioEnabled && ((call === null || call === void 0 ? void 0 : call.microphone.state.status) === undefined || (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'disabled')) {
90
+ if (initialAudioEnabled === undefined) {
91
+ return;
92
+ }
93
+ if (initialVideoEnabled === undefined) {
94
+ return;
95
+ }
96
+ if (initialAudioEnabled) {
99
97
  call === null || call === void 0 || call.microphone.enable();
100
- } else if (!initialAudioEnabled && (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'enabled') {
98
+ } else {
101
99
  call === null || call === void 0 || call.microphone.disable();
102
100
  }
103
- if (initialVideoEnabled && ((call === null || call === void 0 ? void 0 : call.camera.state.status) === undefined || (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'disabled')) {
101
+ if (initialVideoEnabled) {
104
102
  call === null || call === void 0 || call.camera.enable();
105
- } else if (!initialVideoEnabled && (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'enabled') {
103
+ } else {
106
104
  call === null || call === void 0 || call.camera.disable();
107
105
  }
108
106
  }, [call, initialAudioEnabled, initialVideoEnabled]);
109
- const toggleInitialAudioMuteState = useCallback(() => {
110
- (call === null || call === void 0 ? void 0 : call.microphone.state.status) === 'enabled' ? call === null || call === void 0 ? void 0 : call.microphone.disable() : call === null || call === void 0 ? void 0 : call.microphone.enable();
111
- }, [call]);
112
- const toggleInitialVideoMuteState = useCallback(() => {
113
- (call === null || call === void 0 ? void 0 : call.camera.state.status) === 'enabled' ? call === null || call === void 0 ? void 0 : call.camera.disable() : call === null || call === void 0 ? void 0 : call.camera.enable();
114
- }, [call]);
115
- const contextValue = useMemo(() => {
116
- return {
117
- toggleInitialAudioMuteState,
118
- toggleInitialVideoMuteState
119
- };
120
- }, [toggleInitialAudioMuteState, toggleInitialVideoMuteState]);
121
- return /*#__PURE__*/React.createElement(MediaStreamContext.Provider, {
122
- value: contextValue
123
- }, children);
124
- };
125
-
126
- /**
127
- * Context consumer retrieving MediaStreamManagementContextAPI.
128
- * @returns
129
- *
130
- * @category Device Management
131
- */
132
- export const useMediaStreamManagement = () => {
133
- const value = useContext(MediaStreamContext);
134
- if (!value) {
135
- console.warn('Null MediaDevicesContext');
136
- }
137
- return value;
107
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
138
108
  };
139
109
  //# sourceMappingURL=MediaStreamManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useState","useCall","useCallStateHooks","useAppStateListener","MediaStreamContext","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","call","useCallSettings","_call$camera","camera","resume","_call$camera2","disable","setInitialDeviceState","settings","prev","initAudio","initVideo","audio","video","mic_default_on","camera_default_on","microphone","state","status","undefined","enable","toggleInitialAudioMuteState","toggleInitialVideoMuteState","contextValue","createElement","Provider","value","useMediaStreamManagement","console","warn"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","useCall","useCallStateHooks","useAppStateListener","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","call","useCallSettings","_call$camera","camera","resume","_call$camera2","disable","setInitialDeviceState","undefined","settings","audio","video","prev","initAudio","mic_default_on","initVideo","camera_default_on","microphone","enable","createElement","Fragment"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = '0.0.24';
1
+ export const version = '0.0.26';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleAudioPreviewButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,wBAElC,6BAA6B,gBA0C/B,CAAC"}
1
+ {"version":3,"file":"ToggleAudioPreviewButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallControls/ToggleAudioPreviewButton.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,wBAElC,6BAA6B,gBAyC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleVideoPreviewButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,wBAElC,6BAA6B,gBAwC/B,CAAC"}
1
+ {"version":3,"file":"ToggleVideoPreviewButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallControls/ToggleVideoPreviewButton.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,wBAElC,6BAA6B,gBAwC/B,CAAC"}
@@ -13,5 +13,5 @@ export * from './hooks';
13
13
  export * from './theme';
14
14
  export * from './utils';
15
15
  export * from './translations';
16
- export { StreamVideo, StreamCall, MediaStreamManagement, useMediaStreamManagement, } from './providers';
16
+ export { StreamVideo, StreamCall, MediaStreamManagement } from './providers';
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAe1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAI/B,OAAO,EACL,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,+CAA+C;AAC/C,OAAO,wBAAwB,CAAC;AAChC,8BAA8B;AAC9B,OAAO,gCAAgC,CAAC;AACxC,6IAA6I;AAC7I,OAAO,kBAAkB,CAAC;AAe1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAI/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -9,25 +9,9 @@ export type MediaDevicesInitialState = {
9
9
  */
10
10
  initialVideoEnabled?: boolean;
11
11
  };
12
- /**
13
- * API to control device enablement, device selection and media stream access for a call.
14
- * @category Device Management
15
- */
16
- export type MediaStreamManagementContextAPI = {
17
- /**
18
- * Toggles the initialAudioEnabled boolean flag.
19
- * The latest value set will be used to decide, whether audio stream will be published when joining a call.
20
- */
21
- toggleInitialAudioMuteState: () => void;
22
- /**
23
- * Toggles the initialAudioEnabled boolean flag.
24
- * The latest value set will be used to decide, whether audio stream will be published when joining a call.
25
- */
26
- toggleInitialVideoMuteState: () => void;
27
- };
28
12
  /**
29
13
  *
30
- * Provides `MediaStreamManagementContextAPI` that allow the integrators to handle:
14
+ * Provides `MediaStreamManagement` wrapper that allow the integrators to handle:
31
15
  * 1. the initial device state enablement (for example in a custom lobby component)
32
16
  * 2. media stream publishing
33
17
  * @param params
@@ -36,11 +20,4 @@ export type MediaStreamManagementContextAPI = {
36
20
  * @category Device Management
37
21
  */
38
22
  export declare const MediaStreamManagement: ({ initialAudioEnabled: propInitialAudioEnabled, initialVideoEnabled: propInitialVideoEnabled, children, }: PropsWithChildren<MediaDevicesInitialState>) => JSX.Element;
39
- /**
40
- * Context consumer retrieving MediaStreamManagementContextAPI.
41
- * @returns
42
- *
43
- * @category Device Management
44
- */
45
- export declare const useMediaStreamManagement: () => MediaStreamManagementContextAPI;
46
23
  //# sourceMappingURL=MediaStreamManagement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaStreamManagement.d.ts","sourceRoot":"","sources":["../../../src/providers/MediaStreamManagement.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,iBAAiB,EAMlB,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;;OAGG;IACH,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC;;;OAGG;IACH,2BAA2B,EAAE,MAAM,IAAI,CAAC;CACzC,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8GAI/B,kBAAkB,wBAAwB,CAAC,gBAuH7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,uCAMpC,CAAC"}
1
+ {"version":3,"file":"MediaStreamManagement.d.ts","sourceRoot":"","sources":["../../../src/providers/MediaStreamManagement.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAItE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8GAI/B,kBAAkB,wBAAwB,CAAC,gBAsF7C,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.24";
1
+ export declare const version = "0.0.26";
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": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -46,8 +46,8 @@
46
46
  ],
47
47
  "dependencies": {
48
48
  "@stream-io/i18n": "^0.1.2",
49
- "@stream-io/video-client": "^0.3.26",
50
- "@stream-io/video-react-bindings": "^0.2.27",
49
+ "@stream-io/video-client": "^0.3.27",
50
+ "@stream-io/video-react-bindings": "^0.2.28",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -1,8 +1,7 @@
1
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
1
+ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
2
2
  import React from 'react';
3
3
  import { useTheme } from '../../../contexts';
4
4
  import { Mic, MicOff } from '../../../icons';
5
- import { useMediaStreamManagement } from '../../../providers';
6
5
  import { CallControlsButton } from './CallControlsButton';
7
6
 
8
7
  /**
@@ -29,17 +28,16 @@ export const ToggleAudioPreviewButton = ({
29
28
  variants: { buttonSizes },
30
29
  },
31
30
  } = useTheme();
31
+ const call = useCall();
32
32
  const { useMicrophoneState } = useCallStateHooks();
33
33
  const { status } = useMicrophoneState();
34
34
 
35
- const { toggleInitialAudioMuteState } = useMediaStreamManagement();
36
-
37
- const onPress = () => {
35
+ const onPress = async () => {
38
36
  if (onPressHandler) {
39
37
  onPressHandler();
40
38
  return;
41
39
  }
42
- toggleInitialAudioMuteState();
40
+ await call?.microphone.toggle();
43
41
  };
44
42
 
45
43
  return (
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { useCallStateHooks } from '@stream-io/video-react-bindings';
3
- import { useMediaStreamManagement } from '../../../providers';
2
+ import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
4
3
  import { useTheme } from '../../../contexts';
5
4
  import { CallControlsButton } from './CallControlsButton';
6
5
  import { Video, VideoSlash } from '../../../icons';
@@ -29,15 +28,15 @@ export const ToggleVideoPreviewButton = ({
29
28
  variants: { buttonSizes },
30
29
  },
31
30
  } = useTheme();
32
- const { toggleInitialVideoMuteState } = useMediaStreamManagement();
31
+ const call = useCall();
33
32
  const { useCameraState } = useCallStateHooks();
34
33
  const { status } = useCameraState();
35
- const onPress = () => {
34
+ const onPress = async () => {
36
35
  if (onPressHandler) {
37
36
  onPressHandler();
38
37
  return;
39
38
  }
40
- toggleInitialVideoMuteState();
39
+ await call?.camera.toggle();
41
40
  };
42
41
 
43
42
  return (
package/src/index.ts CHANGED
@@ -31,11 +31,6 @@ export * from './translations';
31
31
 
32
32
  // Overriding 'StreamVideo' from '@stream-io/video-react-bindings'
33
33
  // Explicitly re-exporting to resolve ambiguity.
34
- export {
35
- StreamVideo,
36
- StreamCall,
37
- MediaStreamManagement,
38
- useMediaStreamManagement,
39
- } from './providers';
34
+ export { StreamVideo, StreamCall, MediaStreamManagement } from './providers';
40
35
 
41
36
  setClientDetails();
@@ -1,12 +1,4 @@
1
- import React, {
2
- createContext,
3
- PropsWithChildren,
4
- useCallback,
5
- useContext,
6
- useEffect,
7
- useMemo,
8
- useState,
9
- } from 'react';
1
+ import React, { PropsWithChildren, useEffect, useState } from 'react';
10
2
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
11
3
  import { useAppStateListener } from '../utils/hooks';
12
4
 
@@ -21,29 +13,9 @@ export type MediaDevicesInitialState = {
21
13
  initialVideoEnabled?: boolean;
22
14
  };
23
15
 
24
- /**
25
- * API to control device enablement, device selection and media stream access for a call.
26
- * @category Device Management
27
- */
28
- export type MediaStreamManagementContextAPI = {
29
- /**
30
- * Toggles the initialAudioEnabled boolean flag.
31
- * The latest value set will be used to decide, whether audio stream will be published when joining a call.
32
- */
33
- toggleInitialAudioMuteState: () => void;
34
- /**
35
- * Toggles the initialAudioEnabled boolean flag.
36
- * The latest value set will be used to decide, whether audio stream will be published when joining a call.
37
- */
38
- toggleInitialVideoMuteState: () => void;
39
- };
40
-
41
- const MediaStreamContext =
42
- createContext<MediaStreamManagementContextAPI | null>(null);
43
-
44
16
  /**
45
17
  *
46
- * Provides `MediaStreamManagementContextAPI` that allow the integrators to handle:
18
+ * Provides `MediaStreamManagement` wrapper that allow the integrators to handle:
47
19
  * 1. the initial device state enablement (for example in a custom lobby component)
48
20
  * 2. media stream publishing
49
21
  * @param params
@@ -71,121 +43,74 @@ export const MediaStreamManagement = ({
71
43
  );
72
44
 
73
45
  const [{ initialAudioEnabled, initialVideoEnabled }, setInitialDeviceState] =
74
- useState({
75
- initialAudioEnabled: !!propInitialAudioEnabled,
76
- initialVideoEnabled: !!propInitialVideoEnabled,
46
+ useState<MediaDevicesInitialState>({
47
+ initialAudioEnabled: undefined,
48
+ initialVideoEnabled: undefined,
77
49
  });
78
50
 
79
51
  const settings = useCallSettings();
80
52
 
81
- // if prop is set, use that value.. the prop should override the backend settings
53
+ // Use backend settings to set initial audio/video enabled state
54
+ // It is applied only if the prop was undefined -- meaning user did not provide any value
82
55
  useEffect(() => {
56
+ if (!settings) {
57
+ return;
58
+ }
59
+
60
+ const { audio, video } = settings;
83
61
  setInitialDeviceState((prev) => {
84
62
  let initAudio = prev.initialAudioEnabled;
85
- if (typeof propInitialAudioEnabled !== 'undefined') {
86
- initAudio = propInitialAudioEnabled;
63
+ if (typeof propInitialAudioEnabled === 'undefined') {
64
+ initAudio = audio.mic_default_on;
87
65
  }
88
66
  let initVideo = prev.initialVideoEnabled;
89
- if (typeof propInitialVideoEnabled !== 'undefined') {
90
- initVideo = propInitialVideoEnabled;
67
+ if (typeof propInitialVideoEnabled === 'undefined') {
68
+ initVideo = video.camera_default_on;
91
69
  }
92
70
  return { initialAudioEnabled: initAudio, initialVideoEnabled: initVideo };
93
71
  });
94
- }, [propInitialAudioEnabled, propInitialVideoEnabled]);
72
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
95
73
 
96
- // use backend settings to set initial audio/video enabled state
97
- // ONLY if the prop was undefined -- meaning user did not provide any value
74
+ // Apply SDK settings to set the initial audio/video enabled state
98
75
  useEffect(() => {
99
- if (!settings) {
100
- return;
101
- }
102
-
103
- const { audio, video } = settings;
104
76
  setInitialDeviceState((prev) => {
105
77
  let initAudio = prev.initialAudioEnabled;
106
- if (
107
- typeof propInitialAudioEnabled === 'undefined' &&
108
- audio.mic_default_on
109
- ) {
110
- initAudio = true;
78
+ if (typeof propInitialAudioEnabled !== 'undefined') {
79
+ initAudio = propInitialAudioEnabled;
111
80
  }
112
81
  let initVideo = prev.initialVideoEnabled;
113
- if (
114
- typeof propInitialVideoEnabled === 'undefined' &&
115
- video.camera_default_on
116
- ) {
117
- initVideo = true;
82
+ if (typeof propInitialVideoEnabled !== 'undefined') {
83
+ initVideo = propInitialVideoEnabled;
118
84
  }
119
- return { initialAudioEnabled: initAudio, initialVideoEnabled: initVideo };
85
+
86
+ return {
87
+ initialAudioEnabled: initAudio,
88
+ initialVideoEnabled: initVideo,
89
+ };
120
90
  });
121
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
91
+ }, [propInitialAudioEnabled, propInitialVideoEnabled]);
122
92
 
123
93
  // The main logic
124
94
  // Enable or Disable the audio/video stream based on the initial state
125
95
  useEffect(() => {
126
- if (
127
- initialAudioEnabled &&
128
- (call?.microphone.state.status === undefined ||
129
- call?.microphone.state.status === 'disabled')
130
- ) {
96
+ if (initialAudioEnabled === undefined) {
97
+ return;
98
+ }
99
+ if (initialVideoEnabled === undefined) {
100
+ return;
101
+ }
102
+ if (initialAudioEnabled) {
131
103
  call?.microphone.enable();
132
- } else if (
133
- !initialAudioEnabled &&
134
- call?.microphone.state.status === 'enabled'
135
- ) {
104
+ } else {
136
105
  call?.microphone.disable();
137
106
  }
138
107
 
139
- if (
140
- initialVideoEnabled &&
141
- (call?.camera.state.status === undefined ||
142
- call?.camera.state.status === 'disabled')
143
- ) {
108
+ if (initialVideoEnabled) {
144
109
  call?.camera.enable();
145
- } else if (
146
- !initialVideoEnabled &&
147
- call?.camera.state.status === 'enabled'
148
- ) {
110
+ } else {
149
111
  call?.camera.disable();
150
112
  }
151
113
  }, [call, initialAudioEnabled, initialVideoEnabled]);
152
114
 
153
- const toggleInitialAudioMuteState = useCallback(() => {
154
- call?.microphone.state.status === 'enabled'
155
- ? call?.microphone.disable()
156
- : call?.microphone.enable();
157
- }, [call]);
158
-
159
- const toggleInitialVideoMuteState = useCallback(() => {
160
- call?.camera.state.status === 'enabled'
161
- ? call?.camera.disable()
162
- : call?.camera.enable();
163
- }, [call]);
164
-
165
- const contextValue = useMemo(() => {
166
- return {
167
- toggleInitialAudioMuteState,
168
- toggleInitialVideoMuteState,
169
- };
170
- }, [toggleInitialAudioMuteState, toggleInitialVideoMuteState]);
171
-
172
- return (
173
- <MediaStreamContext.Provider value={contextValue}>
174
- {children}
175
- </MediaStreamContext.Provider>
176
- );
177
- };
178
-
179
- /**
180
- * Context consumer retrieving MediaStreamManagementContextAPI.
181
- * @returns
182
- *
183
- * @category Device Management
184
- */
185
- export const useMediaStreamManagement = () => {
186
- const value = useContext(MediaStreamContext);
187
- if (!value) {
188
- console.warn('Null MediaDevicesContext');
189
- }
190
- return value as MediaStreamManagementContextAPI;
115
+ return <>{children}</>;
191
116
  };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.24';
1
+ export const version = '0.0.26';