@stream-io/video-react-native-sdk 0.10.4 → 0.10.6
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 +14 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js +10 -5
- package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +109 -0
- package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -0
- package/dist/commonjs/components/Call/CallContent/index.js +11 -0
- package/dist/commonjs/components/Call/CallContent/index.js.map +1 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +4 -3
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +4 -3
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/commonjs/hooks/useAutoEnterPiPEffect.js +3 -3
- package/dist/commonjs/hooks/useAutoEnterPiPEffect.js.map +1 -1
- package/dist/commonjs/hooks/useIsInPiPMode.js +4 -4
- package/dist/commonjs/hooks/useIsInPiPMode.js.map +1 -1
- package/dist/commonjs/providers/StreamCall.js +5 -2
- package/dist/commonjs/providers/StreamCall.js.map +1 -1
- package/dist/commonjs/utils/internal/shouldDisableIOSLocalVideoOnBackground.js +10 -0
- package/dist/commonjs/utils/internal/shouldDisableIOSLocalVideoOnBackground.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallContent/CallContent.js +10 -5
- package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +101 -0
- package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -0
- package/dist/module/components/Call/CallContent/index.js +1 -0
- package/dist/module/components/Call/CallContent/index.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +4 -3
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +4 -3
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/module/hooks/useAutoEnterPiPEffect.js +3 -3
- package/dist/module/hooks/useAutoEnterPiPEffect.js.map +1 -1
- package/dist/module/hooks/useIsInPiPMode.js +4 -4
- package/dist/module/hooks/useIsInPiPMode.js.map +1 -1
- package/dist/module/providers/StreamCall.js +5 -2
- package/dist/module/providers/StreamCall.js.map +1 -1
- package/dist/module/utils/internal/shouldDisableIOSLocalVideoOnBackground.js +4 -0
- package/dist/module/utils/internal/shouldDisableIOSLocalVideoOnBackground.js.map +1 -0
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts +6 -1
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts +7 -0
- package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -0
- package/dist/typescript/components/Call/CallContent/index.d.ts +1 -0
- package/dist/typescript/components/Call/CallContent/index.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts +2 -2
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts +2 -2
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
- package/dist/typescript/hooks/useAutoEnterPiPEffect.d.ts +1 -1
- package/dist/typescript/hooks/useAutoEnterPiPEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useIsInPiPMode.d.ts +1 -1
- package/dist/typescript/hooks/useIsInPiPMode.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall.d.ts.map +1 -1
- package/dist/typescript/utils/internal/shouldDisableIOSLocalVideoOnBackground.d.ts +4 -0
- package/dist/typescript/utils/internal/shouldDisableIOSLocalVideoOnBackground.d.ts.map +1 -0
- package/dist/typescript/version.d.ts +1 -1
- package/ios/PictureInPicture/SampleBufferVideoCallView.swift +52 -0
- package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +83 -0
- package/ios/PictureInPicture/StreamBufferTransformer.swift +96 -0
- package/ios/PictureInPicture/StreamPictureInPictureController.swift +185 -0
- package/ios/PictureInPicture/StreamPictureInPictureTrackStateAdapter.swift +68 -0
- package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +250 -0
- package/ios/PictureInPicture/StreamPixelBufferPool.swift +118 -0
- package/ios/PictureInPicture/StreamPixelBufferRepository.swift +98 -0
- package/ios/PictureInPicture/StreamRTCYUVBuffer.swift +249 -0
- package/ios/PictureInPicture/StreamYUVToARGBConversion.swift +128 -0
- package/ios/PictureInPicture/WindowSizePolicy/StreamPictureInPictureAdaptiveWindowSizePolicy.swift +25 -0
- package/ios/PictureInPicture/WindowSizePolicy/StreamPictureInPictureFixedWindowSizePolicy.swift +29 -0
- package/ios/PictureInPicture/WindowSizePolicy/StreamPictureInPictureWindowSizePolicy.swift +14 -0
- package/ios/PictureInPicture/YpCbCrPixelRange+Default.swift +32 -0
- package/ios/RTCViewPip.swift +69 -0
- package/ios/RTCViewPipManager.mm +16 -0
- package/ios/RTCViewPipManager.swift +34 -0
- package/ios/StreamVideoReactNative-Bridging-Header.h +11 -0
- package/package.json +1 -1
- package/src/components/Call/CallContent/CallContent.tsx +58 -40
- package/src/components/Call/CallContent/RTCViewPipIOS.tsx +138 -0
- package/src/components/Call/CallContent/index.ts +1 -0
- package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +7 -3
- package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +7 -3
- package/src/hooks/useAutoEnterPiPEffect.tsx +7 -3
- package/src/hooks/useIsInPiPMode.tsx +6 -4
- package/src/providers/StreamCall.tsx +5 -2
- package/src/utils/internal/shouldDisableIOSLocalVideoOnBackground.ts +3 -0
- package/src/version.ts +1 -1
- package/stream-video-react-native.podspec +27 -4
- package/ios/StreamVideoReactNative.xcodeproj/project.pbxproj +0 -274
- package/ios/StreamVideoReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/StreamVideoReactNative.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
### [0.10.6](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.10.5...@stream-io/video-react-native-sdk-0.10.6) (2024-09-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* ios build after pip addition was only as a static framework ([#1473](https://github.com/GetStream/stream-video-js/issues/1473)) ([582fbc9](https://github.com/GetStream/stream-video-js/commit/582fbc921070368fde446ae666ef366eb3d46177)), closes [#1470](https://github.com/GetStream/stream-video-js/issues/1470)
|
|
11
|
+
|
|
12
|
+
### [0.10.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.10.4...@stream-io/video-react-native-sdk-0.10.5) (2024-08-28)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* PiP mode support on iOS ([#1469](https://github.com/GetStream/stream-video-js/issues/1469)) ([3a76378](https://github.com/GetStream/stream-video-js/commit/3a76378a3e663aa8bc23d801c6ac695d65ee77c6))
|
|
18
|
+
|
|
5
19
|
### [0.10.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.10.3...@stream-io/video-react-native-sdk-0.10.4) (2024-08-23)
|
|
6
20
|
|
|
7
21
|
### Dependency Updates
|
|
@@ -17,6 +17,7 @@ var _Participant = require("../../Participant");
|
|
|
17
17
|
var _contexts = require("../../../contexts");
|
|
18
18
|
var _hooks2 = require("../../../hooks");
|
|
19
19
|
var _ScreenShareOverlay = require("../../utility/ScreenShareOverlay");
|
|
20
|
+
var _RTCViewPipIOS = _interopRequireDefault(require("./RTCViewPipIOS"));
|
|
20
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -39,7 +40,9 @@ const CallContent = ({
|
|
|
39
40
|
VideoRenderer,
|
|
40
41
|
layout = 'grid',
|
|
41
42
|
landscape = false,
|
|
42
|
-
supportedReactions
|
|
43
|
+
supportedReactions,
|
|
44
|
+
iOSPiPIncludeLocalParticipantVideo,
|
|
45
|
+
disablePictureInPicture
|
|
43
46
|
}) => {
|
|
44
47
|
const [showRemoteParticipantInFloatingView, setShowRemoteParticipantInFloatingView] = (0, _react.useState)(false);
|
|
45
48
|
const {
|
|
@@ -53,13 +56,13 @@ const CallContent = ({
|
|
|
53
56
|
useRemoteParticipants,
|
|
54
57
|
useLocalParticipant
|
|
55
58
|
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
56
|
-
(0, _hooks2.useAutoEnterPiPEffect)();
|
|
59
|
+
(0, _hooks2.useAutoEnterPiPEffect)(disablePictureInPicture);
|
|
57
60
|
const callSettings = useCallSettings();
|
|
58
61
|
const isVideoEnabledInCall = callSettings?.video.enabled;
|
|
59
62
|
const _remoteParticipants = useRemoteParticipants();
|
|
60
63
|
const remoteParticipants = (0, _hooks.useDebouncedValue)(_remoteParticipants, 300); // we debounce the remote participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
|
|
61
64
|
const localParticipant = useLocalParticipant();
|
|
62
|
-
const isInPiPMode = (0, _hooks2.useIsInPiPMode)();
|
|
65
|
+
const isInPiPMode = (0, _hooks2.useIsInPiPMode)(disablePictureInPicture);
|
|
63
66
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
64
67
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
65
68
|
const showFloatingView = !showSpotlightLayout && !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
@@ -106,7 +109,9 @@ const CallContent = ({
|
|
|
106
109
|
const landscapeStyles = {
|
|
107
110
|
flexDirection: landscape ? 'row' : 'column'
|
|
108
111
|
};
|
|
109
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !disablePictureInPicture && /*#__PURE__*/_react.default.createElement(_RTCViewPipIOS.default, {
|
|
113
|
+
includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo
|
|
114
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
110
115
|
style: [styles.container, landscapeStyles, callContent.container]
|
|
111
116
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
112
117
|
style: [styles.container, callContent.callParticipantsContainer]
|
|
@@ -127,7 +132,7 @@ const CallContent = ({
|
|
|
127
132
|
}, participantViewProps))), showSpotlightLayout ? /*#__PURE__*/_react.default.createElement(_CallLayout.CallParticipantsSpotlight, callParticipantsSpotlightProps) : /*#__PURE__*/_react.default.createElement(_CallLayout.CallParticipantsGrid, callParticipantsGridProps)), !isInPiPMode && CallControls && /*#__PURE__*/_react.default.createElement(CallControls, {
|
|
128
133
|
onHangupCallHandler: onHangupCallHandler,
|
|
129
134
|
landscape: landscape
|
|
130
|
-
}));
|
|
135
|
+
})));
|
|
131
136
|
};
|
|
132
137
|
exports.CallContent = CallContent;
|
|
133
138
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeIncallManager","_interopRequireDefault","_CallTopView","_CallLayout","_CallControls","_videoReactBindings","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CallContent","onBackPressed","onParticipantInfoPress","onHangupCallHandler","CallParticipantsList","CallTopView","DefaultCallTopView","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","ParticipantsInfoBadge","VideoRenderer","layout","landscape","supportedReactions","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","theme","callContent","useTheme","useCallSettings","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","callSettings","isVideoEnabledInCall","video","enabled","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","showFloatingView","isRemoteParticipantInFloatingView","useEffect","InCallManager","start","media","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","View","style","styles","container","callParticipantsContainer","view","topContainer","pointerEvents","participant","onPressHandler","CallParticipantsSpotlight","CallParticipantsGrid","exports","StyleSheet","create","flex","absoluteFillObject","zIndex","Z_INDEX","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,yBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAIA,IAAAK,WAAA,GAAAL,OAAA;AAMA,IAAAM,aAAA,GAAAN,OAAA;AAKA,IAAAO,mBAAA,GAAAP,OAAA;AAGA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AAKA,IAAAW,SAAA,GAAAX,OAAA;AAKA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeIncallManager","_interopRequireDefault","_CallTopView","_CallLayout","_CallControls","_videoReactBindings","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","CallContent","onBackPressed","onParticipantInfoPress","onHangupCallHandler","CallParticipantsList","CallTopView","DefaultCallTopView","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","ParticipantsInfoBadge","VideoRenderer","layout","landscape","supportedReactions","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","theme","callContent","useTheme","useCallSettings","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","callSettings","isVideoEnabledInCall","video","enabled","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","showFloatingView","isRemoteParticipantInFloatingView","useEffect","InCallManager","start","media","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","View","style","styles","container","callParticipantsContainer","view","topContainer","pointerEvents","participant","onPressHandler","CallParticipantsSpotlight","CallParticipantsGrid","exports","StyleSheet","create","flex","absoluteFillObject","zIndex","Z_INDEX","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _videoClient = require("@stream-io/video-client");
|
|
8
|
+
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
var _useDebouncedValue = require("../../../utils/hooks/useDebouncedValue");
|
|
12
|
+
var _shouldDisableIOSLocalVideoOnBackground = require("../../../utils/internal/shouldDisableIOSLocalVideoOnBackground");
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
const COMPONENT_NAME = 'RTCViewPip';
|
|
16
|
+
// workaround to support hot reloading
|
|
17
|
+
// https://medium.com/tribalscale/beyond-the-framework-using-react-native-with-swift-and-kotlin-cfccf4bb9a03
|
|
18
|
+
let RTCViewPipNative;
|
|
19
|
+
if (__DEV__) {
|
|
20
|
+
/* @ts-ignore */
|
|
21
|
+
const cachedView = global.RTCViewPipNative;
|
|
22
|
+
if (!cachedView) {
|
|
23
|
+
RTCViewPipNative = (0, _reactNative.requireNativeComponent)(COMPONENT_NAME);
|
|
24
|
+
/* @ts-ignore */
|
|
25
|
+
global.RTCViewPipNative = RTCViewPipNative;
|
|
26
|
+
} else {
|
|
27
|
+
RTCViewPipNative = cachedView;
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
RTCViewPipNative = (0, _reactNative.requireNativeComponent)(COMPONENT_NAME);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Wrapper for the native view
|
|
34
|
+
* meant to stay private and not exposed */
|
|
35
|
+
const RTCViewPip = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
36
|
+
if (_reactNative.Platform.OS !== 'ios') return null;
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(RTCViewPipNative, {
|
|
39
|
+
streamURL: props.streamURL,
|
|
40
|
+
ref: ref
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
const RTCViewPipIOS = ({
|
|
44
|
+
includeLocalParticipantVideo
|
|
45
|
+
}) => {
|
|
46
|
+
const call = (0, _videoReactBindings.useCall)();
|
|
47
|
+
const {
|
|
48
|
+
useParticipants
|
|
49
|
+
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
50
|
+
const _allParticipants = useParticipants({
|
|
51
|
+
sortBy: _videoClient.speakerLayoutSortPreset
|
|
52
|
+
});
|
|
53
|
+
const allParticipants = (0, _useDebouncedValue.useDebouncedValue)(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
|
|
54
|
+
|
|
55
|
+
const [participantInSpotlight] = allParticipants.filter(participant => includeLocalParticipantVideo ? true : !participant.isLocalParticipant);
|
|
56
|
+
(0, _react.useEffect)(() => {
|
|
57
|
+
_shouldDisableIOSLocalVideoOnBackground.shouldDisableIOSLocalVideoOnBackgroundRef.current = !includeLocalParticipantVideo;
|
|
58
|
+
}, [includeLocalParticipantVideo]);
|
|
59
|
+
const [videoStreamToRender, setVideoStreamToRender] = _react.default.useState();
|
|
60
|
+
const nativeRef = _react.default.useRef(null);
|
|
61
|
+
_react.default.useEffect(() => {
|
|
62
|
+
if (!participantInSpotlight) {
|
|
63
|
+
setVideoStreamToRender(undefined);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const {
|
|
67
|
+
videoStream,
|
|
68
|
+
screenShareStream
|
|
69
|
+
} = participantInSpotlight;
|
|
70
|
+
const isScreenSharing = (0, _videoClient.hasScreenShare)(participantInSpotlight);
|
|
71
|
+
const _videoStreamToRender = isScreenSharing ? screenShareStream : videoStream;
|
|
72
|
+
setVideoStreamToRender(_videoStreamToRender);
|
|
73
|
+
}, [participantInSpotlight]);
|
|
74
|
+
_react.default.useEffect(() => {
|
|
75
|
+
let callClosedInvokedOnce = false;
|
|
76
|
+
const onCallClosed = () => {
|
|
77
|
+
if (callClosedInvokedOnce) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
callClosedInvokedOnce = true;
|
|
81
|
+
const node = (0, _reactNative.findNodeHandle)(nativeRef.current);
|
|
82
|
+
if (node !== null) {
|
|
83
|
+
_reactNative.UIManager.dispatchViewManagerCommand(node,
|
|
84
|
+
// @ts-ignore
|
|
85
|
+
_reactNative.UIManager.getViewManagerConfig(COMPONENT_NAME).Commands.onCallClosed, []);
|
|
86
|
+
}
|
|
87
|
+
_shouldDisableIOSLocalVideoOnBackground.shouldDisableIOSLocalVideoOnBackgroundRef.current = true;
|
|
88
|
+
};
|
|
89
|
+
const unsubFunc = call?.on('call.ended', () => {
|
|
90
|
+
onCallClosed();
|
|
91
|
+
});
|
|
92
|
+
const subscription = call?.state.callingState$.subscribe(state => {
|
|
93
|
+
if (state === _videoClient.CallingState.LEFT || state === _videoClient.CallingState.IDLE) {
|
|
94
|
+
onCallClosed();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return () => {
|
|
98
|
+
onCallClosed();
|
|
99
|
+
unsubFunc?.();
|
|
100
|
+
subscription?.unsubscribe();
|
|
101
|
+
};
|
|
102
|
+
}, [call]);
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement(RTCViewPip, {
|
|
104
|
+
streamURL: videoStreamToRender?.toURL(),
|
|
105
|
+
ref: nativeRef
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
var _default = exports.default = RTCViewPipIOS;
|
|
109
|
+
//# sourceMappingURL=RTCViewPipIOS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_videoClient","require","_videoReactBindings","_react","_interopRequireWildcard","_reactNative","_useDebouncedValue","_shouldDisableIOSLocalVideoOnBackground","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","COMPONENT_NAME","RTCViewPipNative","__DEV__","cachedView","global","requireNativeComponent","RTCViewPip","React","forwardRef","props","ref","Platform","OS","createElement","streamURL","RTCViewPipIOS","includeLocalParticipantVideo","useCall","useParticipants","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","allParticipants","useDebouncedValue","participantInSpotlight","filter","participant","isLocalParticipant","useEffect","shouldDisableIOSLocalVideoOnBackgroundRef","current","videoStreamToRender","setVideoStreamToRender","useState","nativeRef","useRef","undefined","videoStream","screenShareStream","isScreenSharing","hasScreenShare","_videoStreamToRender","callClosedInvokedOnce","onCallClosed","node","findNodeHandle","UIManager","dispatchViewManagerCommand","getViewManagerConfig","Commands","unsubFunc","on","subscription","state","callingState$","subscribe","CallingState","LEFT","IDLE","unsubscribe","toURL","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,4 +14,15 @@ Object.keys(_CallContent).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
+
var _RTCViewPipIOS = require("./RTCViewPipIOS");
|
|
18
|
+
Object.keys(_RTCViewPipIOS).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _RTCViewPipIOS[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _RTCViewPipIOS[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
17
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CallContent","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/index.ts"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_CallContent","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_RTCViewPipIOS"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/index.ts"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ var _useDebouncedValue = require("../../../utils/hooks/useDebouncedValue");
|
|
|
11
11
|
var _CallParticipantsList = require("../CallParticipantsList/CallParticipantsList");
|
|
12
12
|
var _TestIds = require("../../../constants/TestIds");
|
|
13
13
|
var _ThemeContext = require("../../../contexts/ThemeContext");
|
|
14
|
-
var
|
|
14
|
+
var _useIsInPiPMode = require("../../../hooks/useIsInPiPMode");
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
17
|
/**
|
|
@@ -31,7 +31,8 @@ const CallParticipantsGrid = ({
|
|
|
31
31
|
VideoRenderer,
|
|
32
32
|
showLocalParticipant = false,
|
|
33
33
|
supportedReactions,
|
|
34
|
-
landscape
|
|
34
|
+
landscape,
|
|
35
|
+
disablePictureInPicture
|
|
35
36
|
}) => {
|
|
36
37
|
const {
|
|
37
38
|
theme: {
|
|
@@ -53,7 +54,7 @@ const CallParticipantsGrid = ({
|
|
|
53
54
|
const landscapeStyles = {
|
|
54
55
|
flexDirection: landscape ? 'row' : 'column'
|
|
55
56
|
};
|
|
56
|
-
const isInPiPMode = (0,
|
|
57
|
+
const isInPiPMode = (0, _useIsInPiPMode.useIsInPiPMode)(disablePictureInPicture);
|
|
57
58
|
const showFloatingView = !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
58
59
|
let participants = showFloatingView ? showLocalParticipant && localParticipant ? [localParticipant] : remoteParticipants : allParticipants;
|
|
59
60
|
if (isInPiPMode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsGrid","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","showLocalParticipant","supportedReactions","landscape","disablePictureInPicture","theme","colors","callParticipantsGrid","useTheme","useRemoteParticipants","useParticipants","useLocalParticipant","useCallStateHooks","_remoteParticipants","localParticipant","_allParticipants","remoteParticipants","useDebouncedValue","allParticipants","landscapeStyles","flexDirection","isInPiPMode","useIsInPiPMode","showFloatingView","participants","participantViewProps","createElement","View","style","styles","container","backgroundColor","dark_gray","testID","ComponentTestIds","CALL_PARTICIPANTS_GRID","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ var _TestIds = require("../../../constants/TestIds");
|
|
|
13
13
|
var _CallParticipantsList = require("../CallParticipantsList/CallParticipantsList");
|
|
14
14
|
var _Participant = require("../../Participant");
|
|
15
15
|
var _ThemeContext = require("../../../contexts/ThemeContext");
|
|
16
|
-
var
|
|
16
|
+
var _useIsInPiPMode = require("../../../hooks/useIsInPiPMode");
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
19
|
/**
|
|
@@ -34,7 +34,8 @@ const CallParticipantsSpotlight = ({
|
|
|
34
34
|
ScreenShareOverlay,
|
|
35
35
|
VideoRenderer,
|
|
36
36
|
supportedReactions,
|
|
37
|
-
landscape
|
|
37
|
+
landscape,
|
|
38
|
+
disablePictureInPicture
|
|
38
39
|
}) => {
|
|
39
40
|
const {
|
|
40
41
|
theme: {
|
|
@@ -52,7 +53,7 @@ const CallParticipantsSpotlight = ({
|
|
|
52
53
|
const [participantInSpotlight, ...otherParticipants] = allParticipants;
|
|
53
54
|
const isScreenShareOnSpotlight = participantInSpotlight && (0, _videoClient.hasScreenShare)(participantInSpotlight);
|
|
54
55
|
const isUserAloneInCall = _allParticipants?.length === 1;
|
|
55
|
-
const isInPiP = (0,
|
|
56
|
+
const isInPiP = (0, _useIsInPiPMode.useIsInPiPMode)(disablePictureInPicture);
|
|
56
57
|
const participantViewProps = {
|
|
57
58
|
ParticipantLabel,
|
|
58
59
|
ParticipantNetworkQualityIndicator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_videoClient","_videoReactBindings","_reactNative","_useDebouncedValue","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_videoClient","_videoReactBindings","_reactNative","_useDebouncedValue","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsSpotlight","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","DefaultParticipantView","ScreenShareOverlay","VideoRenderer","supportedReactions","landscape","disablePictureInPicture","theme","colors","callParticipantsSpotlight","useTheme","useParticipants","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","allParticipants","useDebouncedValue","participantInSpotlight","otherParticipants","isScreenShareOnSpotlight","hasScreenShare","isUserAloneInCall","isInPiP","useIsInPiPMode","participantViewProps","callParticipantsListProps","landscapeStyles","flexDirection","spotlightContainerLandscapeStyles","marginHorizontal","createElement","View","testID","ComponentTestIds","CALL_PARTICIPANTS_SPOTLIGHT","style","styles","container","backgroundColor","dark_gray","isLocalParticipant","participant","fullScreenSpotlightContainer","spotlightContainer","objectFit","trackType","callParticipantsListContainer","participants","horizontal","numberOfColumns","exports","StyleSheet","create","flex","overflow","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsSpotlight.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useAutoEnterPiPEffect = useAutoEnterPiPEffect;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
function useAutoEnterPiPEffect() {
|
|
9
|
+
function useAutoEnterPiPEffect(disablePictureInPicture) {
|
|
10
10
|
(0, _react.useEffect)(() => {
|
|
11
11
|
if (_reactNative.Platform.OS !== 'android') {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
_reactNative.NativeModules.StreamVideoReactNative.canAutoEnterPipMode(
|
|
14
|
+
_reactNative.NativeModules.StreamVideoReactNative.canAutoEnterPipMode(!disablePictureInPicture);
|
|
15
15
|
return () => {
|
|
16
16
|
_reactNative.NativeModules.StreamVideoReactNative.canAutoEnterPipMode(false);
|
|
17
17
|
};
|
|
18
|
-
}, []);
|
|
18
|
+
}, [disablePictureInPicture]);
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=useAutoEnterPiPEffect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","useAutoEnterPiPEffect","useEffect","Platform","OS","NativeModules","StreamVideoReactNative","canAutoEnterPipMode"],"sourceRoot":"../../../src","sources":["hooks/useAutoEnterPiPEffect.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,qBAAqBA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","useAutoEnterPiPEffect","disablePictureInPicture","useEffect","Platform","OS","NativeModules","StreamVideoReactNative","canAutoEnterPipMode"],"sourceRoot":"../../../src","sources":["hooks/useAutoEnterPiPEffect.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,qBAAqBA,CACnCC,uBAA4C,EAC5C;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B;IACF;IAEAC,0BAAa,CAACC,sBAAsB,CAACC,mBAAmB,CACtD,CAACN,uBACH,CAAC;IAED,OAAO,MAAM;MACXI,0BAAa,CAACC,sBAAsB,CAACC,mBAAmB,CAAC,KAAK,CAAC;IACjE,CAAC;EACH,CAAC,EAAE,CAACN,uBAAuB,CAAC,CAAC;AAC/B","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
|
|
10
10
|
const isAndroid8OrAbove = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= 26;
|
|
11
|
-
function useIsInPiPMode() {
|
|
12
|
-
const [isInPiPMode, setIsInPiPMode] = (0, _react.useState)(isAndroid8OrAbove && _reactNative.AppState.currentState === 'background');
|
|
11
|
+
function useIsInPiPMode(disablePictureInPicture) {
|
|
12
|
+
const [isInPiPMode, setIsInPiPMode] = (0, _react.useState)(disablePictureInPicture && isAndroid8OrAbove && _reactNative.AppState.currentState === 'background');
|
|
13
13
|
(0, _react.useEffect)(() => {
|
|
14
14
|
if (!isAndroid8OrAbove) {
|
|
15
15
|
return;
|
|
@@ -22,7 +22,7 @@ function useIsInPiPMode() {
|
|
|
22
22
|
};
|
|
23
23
|
const subscriptionAppState = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
24
24
|
if (nextAppState === 'background') {
|
|
25
|
-
setIsInPiPMode(
|
|
25
|
+
setIsInPiPMode(!disablePictureInPicture); // set with an assumption that its enabled so that UI disabling happens faster
|
|
26
26
|
// if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
|
|
27
27
|
}
|
|
28
28
|
setFromNativeMethod();
|
|
@@ -32,7 +32,7 @@ function useIsInPiPMode() {
|
|
|
32
32
|
subscriptionPiPChange.remove();
|
|
33
33
|
subscriptionAppState.remove();
|
|
34
34
|
};
|
|
35
|
-
}, []);
|
|
35
|
+
}, [disablePictureInPicture]);
|
|
36
36
|
return isInPiPMode;
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=useIsInPiPMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","PIP_CHANGE_EVENT","isAndroid8OrAbove","Platform","OS","Version","useIsInPiPMode","isInPiPMode","setIsInPiPMode","useState","AppState","currentState","useEffect","eventEmitter","NativeEventEmitter","NativeModules","StreamVideoReactNative","subscriptionPiPChange","addListener","setFromNativeMethod","isInPiPNativeMethod","subscriptionAppState","addEventListener","nextAppState","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,MAAME,gBAAgB,GAAG,yCAAyC;AAElE,MAAMC,iBAAiB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,IAAI,EAAE;AAEtE,SAASC,cAAcA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","PIP_CHANGE_EVENT","isAndroid8OrAbove","Platform","OS","Version","useIsInPiPMode","disablePictureInPicture","isInPiPMode","setIsInPiPMode","useState","AppState","currentState","useEffect","eventEmitter","NativeEventEmitter","NativeModules","StreamVideoReactNative","subscriptionPiPChange","addListener","setFromNativeMethod","isInPiPNativeMethod","subscriptionAppState","addEventListener","nextAppState","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,MAAME,gBAAgB,GAAG,yCAAyC;AAElE,MAAMC,iBAAiB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,IAAI,EAAE;AAEtE,SAASC,cAAcA,CAACC,uBAA4C,EAAE;EAC3E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAC5CH,uBAAuB,IACrBL,iBAAiB,IACjBS,qBAAQ,CAACC,YAAY,KAAK,YAC9B,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACX,iBAAiB,EAAE;MACtB;IACF;IAEA,MAAMY,YAAY,GAAG,IAAIC,+BAAkB,CACzCC,0BAAa,CAACC,sBAChB,CAAC;IAED,MAAMC,qBAAqB,GAAGJ,YAAY,CAACK,WAAW,CACpDlB,gBAAgB,EAChBQ,cACF,CAAC;IAED,MAAMW,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,MAAMC,mBAA+C,GACnD,MAAML,0BAAa,EAAEC,sBAAsB,EAAET,WAAW,CAAC,CAAC;MAC5DC,cAAc,CAAC,CAAC,CAACY,mBAAmB,CAAC;IACvC,CAAC;IAED,MAAMC,oBAAoB,GAAGX,qBAAQ,CAACY,gBAAgB,CACpD,QAAQ,EACPC,YAAY,IAAK;MAChB,IAAIA,YAAY,KAAK,YAAY,EAAE;QACjCf,cAAc,CAAC,CAACF,uBAAuB,CAAC,CAAC,CAAC;QAC1C;MACF;MACAa,mBAAmB,CAAC,CAAC;IACvB,CACF,CAAC;IAEDA,mBAAmB,CAAC,CAAC;IAErB,OAAO,MAAM;MACXF,qBAAqB,CAACO,MAAM,CAAC,CAAC;MAC9BH,oBAAoB,CAACG,MAAM,CAAC,CAAC;IAC/B,CAAC;EACH,CAAC,EAAE,CAAClB,uBAAuB,CAAC,CAAC;EAE7B,OAAOC,WAAW;AACpB","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _useIosCallkeepWithCallingStateEffect = require("../hooks/push/useIosCallkee
|
|
|
10
10
|
var _utils = require("../utils/push/utils");
|
|
11
11
|
var _useAndroidKeepCallAliveEffect = require("../hooks/useAndroidKeepCallAliveEffect");
|
|
12
12
|
var _reactNative = require("react-native");
|
|
13
|
+
var _shouldDisableIOSLocalVideoOnBackground = require("../utils/internal/shouldDisableIOSLocalVideoOnBackground");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
16
|
/**
|
|
@@ -60,7 +61,9 @@ const AppStateListener = () => {
|
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
63
|
} else {
|
|
63
|
-
|
|
64
|
+
if (_shouldDisableIOSLocalVideoOnBackground.shouldDisableIOSLocalVideoOnBackgroundRef.current) {
|
|
65
|
+
call?.camera?.disable();
|
|
66
|
+
}
|
|
64
67
|
}
|
|
65
68
|
appState.current = nextAppState;
|
|
66
69
|
}
|
|
@@ -73,7 +76,7 @@ const AppStateListener = () => {
|
|
|
73
76
|
};
|
|
74
77
|
|
|
75
78
|
/**
|
|
76
|
-
* This is a renderless component
|
|
79
|
+
* This is a renderless component to keep the call alive on Android device using useAndroidKeepCallAliveEffect.
|
|
77
80
|
* useAndroidKeepCallAliveEffect needs to called inside a child of StreamCallProvider.
|
|
78
81
|
*/
|
|
79
82
|
const AndroidKeepCallAlive = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_useIosCallkeepWithCallingStateEffect","_utils","_useAndroidKeepCallAliveEffect","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","exports","useCall","appState","useRef","AppState","currentState","useEffect","subscription","addEventListener","nextAppState","current","match","camera","state","status","Platform","OS","disable","then","enable","resume","NativeModules","StreamVideoReactNative","isInPiPMode","isInPiP","remove","useAndroidKeepCallAliveEffect","useIosCallkeepWithCallingStateEffect","clearPushWSEventSubscriptions","canAddPushWSSubscriptionsRef"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,qCAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAIA,IAAAK,8BAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;
|
|
1
|
+
{"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_useIosCallkeepWithCallingStateEffect","_utils","_useAndroidKeepCallAliveEffect","_reactNative","_shouldDisableIOSLocalVideoOnBackground","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","exports","useCall","appState","useRef","AppState","currentState","useEffect","subscription","addEventListener","nextAppState","current","match","camera","state","status","Platform","OS","disable","then","enable","resume","NativeModules","StreamVideoReactNative","isInPiPMode","isInPiP","shouldDisableIOSLocalVideoOnBackgroundRef","remove","useAndroidKeepCallAliveEffect","useIosCallkeepWithCallingStateEffect","clearPushWSEventSubscriptions","canAddPushWSSubscriptionsRef"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.shouldDisableIOSLocalVideoOnBackgroundRef = void 0;
|
|
7
|
+
const shouldDisableIOSLocalVideoOnBackgroundRef = exports.shouldDisableIOSLocalVideoOnBackgroundRef = {
|
|
8
|
+
current: true
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=shouldDisableIOSLocalVideoOnBackground.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["shouldDisableIOSLocalVideoOnBackgroundRef","exports","current"],"sourceRoot":"../../../../src","sources":["utils/internal/shouldDisableIOSLocalVideoOnBackground.ts"],"mappings":";;;;;;AAAO,MAAMA,yCAAyC,GAAAC,OAAA,CAAAD,yCAAA,GAAG;EACvDE,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -12,6 +12,7 @@ import { FloatingParticipantView as DefaultFloatingParticipantView } from '../..
|
|
|
12
12
|
import { useTheme } from '../../../contexts';
|
|
13
13
|
import { useIsInPiPMode, useAutoEnterPiPEffect } from '../../../hooks';
|
|
14
14
|
import { ScreenShareOverlay as DefaultScreenShareOverlay } from '../../utility/ScreenShareOverlay';
|
|
15
|
+
import RTCViewPipIOS from './RTCViewPipIOS';
|
|
15
16
|
export const CallContent = ({
|
|
16
17
|
onBackPressed,
|
|
17
18
|
onParticipantInfoPress,
|
|
@@ -30,7 +31,9 @@ export const CallContent = ({
|
|
|
30
31
|
VideoRenderer,
|
|
31
32
|
layout = 'grid',
|
|
32
33
|
landscape = false,
|
|
33
|
-
supportedReactions
|
|
34
|
+
supportedReactions,
|
|
35
|
+
iOSPiPIncludeLocalParticipantVideo,
|
|
36
|
+
disablePictureInPicture
|
|
34
37
|
}) => {
|
|
35
38
|
const [showRemoteParticipantInFloatingView, setShowRemoteParticipantInFloatingView] = useState(false);
|
|
36
39
|
const {
|
|
@@ -44,13 +47,13 @@ export const CallContent = ({
|
|
|
44
47
|
useRemoteParticipants,
|
|
45
48
|
useLocalParticipant
|
|
46
49
|
} = useCallStateHooks();
|
|
47
|
-
useAutoEnterPiPEffect();
|
|
50
|
+
useAutoEnterPiPEffect(disablePictureInPicture);
|
|
48
51
|
const callSettings = useCallSettings();
|
|
49
52
|
const isVideoEnabledInCall = callSettings?.video.enabled;
|
|
50
53
|
const _remoteParticipants = useRemoteParticipants();
|
|
51
54
|
const remoteParticipants = useDebouncedValue(_remoteParticipants, 300); // we debounce the remote participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
|
|
52
55
|
const localParticipant = useLocalParticipant();
|
|
53
|
-
const isInPiPMode = useIsInPiPMode();
|
|
56
|
+
const isInPiPMode = useIsInPiPMode(disablePictureInPicture);
|
|
54
57
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
55
58
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
56
59
|
const showFloatingView = !showSpotlightLayout && !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
@@ -97,7 +100,9 @@ export const CallContent = ({
|
|
|
97
100
|
const landscapeStyles = {
|
|
98
101
|
flexDirection: landscape ? 'row' : 'column'
|
|
99
102
|
};
|
|
100
|
-
return /*#__PURE__*/React.createElement(
|
|
103
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, !disablePictureInPicture && /*#__PURE__*/React.createElement(RTCViewPipIOS, {
|
|
104
|
+
includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo
|
|
105
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
101
106
|
style: [styles.container, landscapeStyles, callContent.container]
|
|
102
107
|
}, /*#__PURE__*/React.createElement(View, {
|
|
103
108
|
style: [styles.container, callContent.callParticipantsContainer]
|
|
@@ -118,7 +123,7 @@ export const CallContent = ({
|
|
|
118
123
|
}, participantViewProps))), showSpotlightLayout ? /*#__PURE__*/React.createElement(CallParticipantsSpotlight, callParticipantsSpotlightProps) : /*#__PURE__*/React.createElement(CallParticipantsGrid, callParticipantsGridProps)), !isInPiPMode && CallControls && /*#__PURE__*/React.createElement(CallControls, {
|
|
119
124
|
onHangupCallHandler: onHangupCallHandler,
|
|
120
125
|
landscape: landscape
|
|
121
|
-
}));
|
|
126
|
+
})));
|
|
122
127
|
};
|
|
123
128
|
const styles = StyleSheet.create({
|
|
124
129
|
container: {
|