@stream-io/video-react-native-sdk 0.0.25 → 0.0.27
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 +13 -0
- package/dist/commonjs/components/Call/CallControls/ToggleAudioPreviewButton.js +3 -6
- package/dist/commonjs/components/Call/CallControls/ToggleAudioPreviewButton.js.map +1 -1
- package/dist/commonjs/components/Call/CallControls/ToggleVideoPreviewButton.js +3 -6
- package/dist/commonjs/components/Call/CallControls/ToggleVideoPreviewButton.js.map +1 -1
- package/dist/commonjs/index.js +1 -8
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/providers/MediaStreamManagement.js +35 -65
- package/dist/commonjs/providers/MediaStreamManagement.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallControls/ToggleAudioPreviewButton.js +4 -7
- package/dist/module/components/Call/CallControls/ToggleAudioPreviewButton.js.map +1 -1
- package/dist/module/components/Call/CallControls/ToggleVideoPreviewButton.js +4 -7
- package/dist/module/components/Call/CallControls/ToggleVideoPreviewButton.js.map +1 -1
- package/dist/module/index.js +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/providers/MediaStreamManagement.js +35 -65
- package/dist/module/providers/MediaStreamManagement.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleAudioPreviewButton.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallControls/ToggleVideoPreviewButton.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +1 -1
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/providers/MediaStreamManagement.d.ts +1 -24
- package/dist/typescript/providers/MediaStreamManagement.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/components/Call/CallControls/ToggleAudioPreviewButton.tsx +4 -6
- package/src/components/Call/CallControls/ToggleVideoPreviewButton.tsx +4 -5
- package/src/index.ts +1 -6
- package/src/providers/MediaStreamManagement.tsx +39 -114
- 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.27](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.0.26...@stream-io/video-react-native-sdk-0.0.27) (2023-09-28)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `@stream-io/video-client` updated to version `0.3.28`
|
|
10
|
+
* `@stream-io/video-react-bindings` updated to version `0.2.29`
|
|
11
|
+
### [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)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **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))
|
|
17
|
+
|
|
5
18
|
### [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)
|
|
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
|
-
|
|
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","
|
|
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
|
-
|
|
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","
|
|
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"}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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.
|
|
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 `
|
|
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:
|
|
54
|
-
initialVideoEnabled:
|
|
46
|
+
initialAudioEnabled: undefined,
|
|
47
|
+
initialVideoEnabled: undefined
|
|
55
48
|
});
|
|
56
49
|
const settings = useCallSettings();
|
|
57
50
|
|
|
58
|
-
//
|
|
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
|
|
63
|
-
initAudio =
|
|
63
|
+
if (typeof propInitialAudioEnabled === 'undefined') {
|
|
64
|
+
initAudio = audio.mic_default_on;
|
|
64
65
|
}
|
|
65
66
|
let initVideo = prev.initialVideoEnabled;
|
|
66
|
-
if (typeof propInitialVideoEnabled
|
|
67
|
-
initVideo =
|
|
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
|
-
//
|
|
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
|
|
89
|
-
initAudio =
|
|
81
|
+
if (typeof propInitialAudioEnabled !== 'undefined') {
|
|
82
|
+
initAudio = propInitialAudioEnabled;
|
|
90
83
|
}
|
|
91
84
|
let initVideo = prev.initialVideoEnabled;
|
|
92
|
-
if (typeof propInitialVideoEnabled
|
|
93
|
-
initVideo =
|
|
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
|
|
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
|
|
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
|
|
106
|
+
} else {
|
|
108
107
|
call === null || call === void 0 || call.microphone.disable();
|
|
109
108
|
}
|
|
110
|
-
if (initialVideoEnabled
|
|
109
|
+
if (initialVideoEnabled) {
|
|
111
110
|
call === null || call === void 0 || call.camera.enable();
|
|
112
|
-
} else
|
|
111
|
+
} else {
|
|
113
112
|
call === null || call === void 0 || call.camera.disable();
|
|
114
113
|
}
|
|
115
114
|
}, [call, initialAudioEnabled, initialVideoEnabled]);
|
|
116
|
-
|
|
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","
|
|
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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"}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -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
|
-
|
|
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","
|
|
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
|
-
|
|
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","
|
|
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"}
|
package/dist/module/index.js
CHANGED
|
@@ -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
|
|
33
|
+
export { StreamVideo, StreamCall, MediaStreamManagement } from './providers';
|
|
34
34
|
setClientDetails();
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setClientDetails","registerGlobals","Logger","Platform","OS","enable","ROOT_PREFIX","StreamVideo","StreamCall","MediaStreamManagement"
|
|
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, {
|
|
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 `
|
|
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:
|
|
47
|
-
initialVideoEnabled:
|
|
38
|
+
initialAudioEnabled: undefined,
|
|
39
|
+
initialVideoEnabled: undefined
|
|
48
40
|
});
|
|
49
41
|
const settings = useCallSettings();
|
|
50
42
|
|
|
51
|
-
//
|
|
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
|
|
56
|
-
initAudio =
|
|
55
|
+
if (typeof propInitialAudioEnabled === 'undefined') {
|
|
56
|
+
initAudio = audio.mic_default_on;
|
|
57
57
|
}
|
|
58
58
|
let initVideo = prev.initialVideoEnabled;
|
|
59
|
-
if (typeof propInitialVideoEnabled
|
|
60
|
-
initVideo =
|
|
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
|
-
//
|
|
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
|
|
82
|
-
initAudio =
|
|
73
|
+
if (typeof propInitialAudioEnabled !== 'undefined') {
|
|
74
|
+
initAudio = propInitialAudioEnabled;
|
|
83
75
|
}
|
|
84
76
|
let initVideo = prev.initialVideoEnabled;
|
|
85
|
-
if (typeof propInitialVideoEnabled
|
|
86
|
-
initVideo =
|
|
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
|
|
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
|
|
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
|
|
98
|
+
} else {
|
|
101
99
|
call === null || call === void 0 || call.microphone.disable();
|
|
102
100
|
}
|
|
103
|
-
if (initialVideoEnabled
|
|
101
|
+
if (initialVideoEnabled) {
|
|
104
102
|
call === null || call === void 0 || call.camera.enable();
|
|
105
|
-
} else
|
|
103
|
+
} else {
|
|
106
104
|
call === null || call === void 0 || call.camera.disable();
|
|
107
105
|
}
|
|
108
106
|
}, [call, initialAudioEnabled, initialVideoEnabled]);
|
|
109
|
-
|
|
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","
|
|
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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"}
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.0.
|
|
1
|
+
export const version = '0.0.27';
|
|
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":"
|
|
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":"
|
|
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
|
|
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,
|
|
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 `
|
|
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,
|
|
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.
|
|
1
|
+
export declare const version = "0.0.27";
|
|
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.
|
|
3
|
+
"version": "0.0.27",
|
|
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.
|
|
50
|
-
"@stream-io/video-react-bindings": "^0.2.
|
|
49
|
+
"@stream-io/video-client": "^0.3.28",
|
|
50
|
+
"@stream-io/video-react-bindings": "^0.2.29",
|
|
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
|
|
36
|
-
|
|
37
|
-
const onPress = () => {
|
|
35
|
+
const onPress = async () => {
|
|
38
36
|
if (onPressHandler) {
|
|
39
37
|
onPressHandler();
|
|
40
38
|
return;
|
|
41
39
|
}
|
|
42
|
-
|
|
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
|
|
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
|
-
|
|
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 `
|
|
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:
|
|
76
|
-
initialVideoEnabled:
|
|
46
|
+
useState<MediaDevicesInitialState>({
|
|
47
|
+
initialAudioEnabled: undefined,
|
|
48
|
+
initialVideoEnabled: undefined,
|
|
77
49
|
});
|
|
78
50
|
|
|
79
51
|
const settings = useCallSettings();
|
|
80
52
|
|
|
81
|
-
//
|
|
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
|
|
86
|
-
initAudio =
|
|
63
|
+
if (typeof propInitialAudioEnabled === 'undefined') {
|
|
64
|
+
initAudio = audio.mic_default_on;
|
|
87
65
|
}
|
|
88
66
|
let initVideo = prev.initialVideoEnabled;
|
|
89
|
-
if (typeof propInitialVideoEnabled
|
|
90
|
-
initVideo =
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
115
|
-
video.camera_default_on
|
|
116
|
-
) {
|
|
117
|
-
initVideo = true;
|
|
82
|
+
if (typeof propInitialVideoEnabled !== 'undefined') {
|
|
83
|
+
initVideo = propInitialVideoEnabled;
|
|
118
84
|
}
|
|
119
|
-
|
|
85
|
+
|
|
86
|
+
return {
|
|
87
|
+
initialAudioEnabled: initAudio,
|
|
88
|
+
initialVideoEnabled: initVideo,
|
|
89
|
+
};
|
|
120
90
|
});
|
|
121
|
-
}, [propInitialAudioEnabled, propInitialVideoEnabled
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
1
|
+
export const version = '0.0.27';
|