@stream-io/video-react-native-sdk 1.29.0 → 1.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/commonjs/components/Call/CallContent/CallContent.js +7 -2
  3. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  4. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +8 -1
  5. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  6. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +3 -0
  7. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  8. package/dist/commonjs/utils/internal/registerSDKGlobals.js +12 -0
  9. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  10. package/dist/commonjs/version.js +1 -1
  11. package/dist/module/components/Call/CallContent/CallContent.js +7 -2
  12. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  13. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +8 -1
  14. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  15. package/dist/module/components/Call/CallContent/RTCViewPipNative.js +3 -0
  16. package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  17. package/dist/module/utils/internal/registerSDKGlobals.js +13 -1
  18. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  19. package/dist/module/version.js +1 -1
  20. package/dist/typescript/components/Call/CallContent/CallContent.d.ts +2 -2
  21. package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
  22. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts +4 -0
  23. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
  24. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +9 -6
  25. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
  26. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  27. package/dist/typescript/version.d.ts +1 -1
  28. package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +8 -0
  29. package/ios/PictureInPicture/StreamPictureInPictureController.swift +8 -0
  30. package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +10 -0
  31. package/ios/RTCViewPip.swift +6 -0
  32. package/ios/RTCViewPipManager.mm +1 -0
  33. package/ios/StreamVideoReactNative.m +20 -0
  34. package/package.json +3 -3
  35. package/src/components/Call/CallContent/CallContent.tsx +6 -1
  36. package/src/components/Call/CallContent/RTCViewPipIOS.tsx +18 -2
  37. package/src/components/Call/CallContent/RTCViewPipNative.tsx +4 -7
  38. package/src/utils/internal/registerSDKGlobals.ts +21 -2
  39. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.29.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.29.0...@stream-io/video-react-native-sdk-1.29.1) (2026-02-10)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/video-client` updated to version `1.42.1`
10
+ - `@stream-io/video-react-bindings` updated to version `1.13.5`
11
+
12
+ ### Bug Fixes
13
+
14
+ - respect device permissions when detecting speech while muted ([#2115](https://github.com/GetStream/stream-video-js/issues/2115)) ([fe98768](https://github.com/GetStream/stream-video-js/commit/fe98768a9bf695fc5355905939884594c11ac2b9)), closes [#2110](https://github.com/GetStream/stream-video-js/issues/2110)
15
+ - **rn:** expose `mirror` prop for Picture-in-Picture ([#2113](https://github.com/GetStream/stream-video-js/issues/2113)) ([da72e48](https://github.com/GetStream/stream-video-js/commit/da72e4812a0177a1059aeecc54dd88894b99a610)), closes [#2106](https://github.com/GetStream/stream-video-js/issues/2106)
16
+
5
17
  ## [1.29.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.28.3...@stream-io/video-react-native-sdk-1.29.0) (2026-02-06)
6
18
 
7
19
  ### Dependency Updates
@@ -32,6 +32,7 @@ const CallContent = ({
32
32
  ParticipantVideoFallback,
33
33
  ParticipantView,
34
34
  VideoRenderer,
35
+ mirror,
35
36
  layout = 'grid',
36
37
  landscape = false,
37
38
  supportedReactions,
@@ -113,6 +114,7 @@ const CallContent = ({
113
114
  landscape,
114
115
  showLocalParticipant: isRemoteParticipantInFloatingView,
115
116
  ParticipantView,
117
+ mirror,
116
118
  CallParticipantsList,
117
119
  supportedReactions
118
120
  };
@@ -120,6 +122,7 @@ const CallContent = ({
120
122
  ...participantViewProps,
121
123
  landscape,
122
124
  ParticipantView,
125
+ mirror,
123
126
  CallParticipantsList,
124
127
  ScreenShareOverlay,
125
128
  supportedReactions
@@ -128,7 +131,8 @@ const CallContent = ({
128
131
  flexDirection: landscape ? 'row' : 'column'
129
132
  };
130
133
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !disablePictureInPicture && /*#__PURE__*/_react.default.createElement(_RTCViewPipIOS.RTCViewPipIOS, {
131
- includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo
134
+ includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo,
135
+ mirror: mirror
132
136
  }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
133
137
  style: [styles.container, landscapeStyles, callContent.container]
134
138
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -143,7 +147,8 @@ const CallContent = ({
143
147
  participant: isRemoteParticipantInFloatingView ? remoteParticipants[0] : localParticipant,
144
148
  onPressHandler: handleFloatingViewParticipantSwitch,
145
149
  supportedReactions: supportedReactions,
146
- objectFit: "cover"
150
+ objectFit: "cover",
151
+ mirror: mirror
147
152
  }, participantViewProps))), showSpotlightLayout ? /*#__PURE__*/_react.default.createElement(_CallLayout.CallParticipantsSpotlight, callParticipantsSpotlightProps) : /*#__PURE__*/_react.default.createElement(_CallLayout.CallParticipantsGrid, callParticipantsGridProps)), !isInPiPMode && CallControls && /*#__PURE__*/_react.default.createElement(CallControls, {
148
153
  onHangupCallHandler: onHangupCallHandler,
149
154
  landscape: landscape
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CallLayout","_CallControls","_videoReactBindings","_videoClient","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","_PrevLibDetection","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CallContent","onHangupCallHandler","CallParticipantsList","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useCall","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","useEffect","Platform","OS","unsubFunc","on","videoLoggerSystem","getLogger","debug","NativeModules","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","showFloatingView","isRemoteParticipantInFloatingView","incallManagerModeRef","useRef","prevInCallManager","getRNInCallManagerLibNoThrow","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","RTCViewPipIOS","includeLocalParticipantVideo","View","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","participant","onPressHandler","objectFit","CallParticipantsSpotlight","CallParticipantsGrid","exports","useMemo","StyleSheet","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","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;AAOA,IAAAE,WAAA,GAAAF,OAAA;AAMA,IAAAG,aAAA,GAAAH,OAAA;AAKA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAMA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAKA,IAAAS,SAAA,GAAAT,OAAA;AAKA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,mBAAA,GAAAX,OAAA;AAIA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,iBAAA,GAAAb,OAAA;AAA8F,SAAAD,wBAAAe,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAe,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AA+DvF,MAAMG,WAAW,GAAGA,CAAC;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBC,YAAY,GAAGC,0BAAmB;EAClCC,uBAAuB,GAAGC,oCAA8B;EACxDC,kBAAkB,GAAGC,sCAAyB;EAC9CC,gBAAgB;EAChBC,kCAAkC;EAClCC,mBAAmB;EACnBC,wBAAwB;EACxBC,eAAe;EACfC,aAAa;EACbC,MAAM,GAAG,MAAM;EACfC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,6BAA6B,GAAG,OAAO;EACvCC,kCAAkC;EAClCC;AACgB,CAAC,KAAK;EACtB,MAAM,CACJC,mCAAmC,EACnCC,sCAAsC,CACvC,GAAG,IAAAC,eAAQ,EAAU,KAAK,CAAC;EAC5B,MAAMC,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAY;EACvB,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAMtC,IAAI,GAAG,IAAAuC,2BAAO,EAAC,CAAC;EACtB,MAAM;IACJC,wBAAwB;IACxBC,qBAAqB;IACrBC;EACF,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAEvB,IAAAC,6BAAqB,EAACd,uBAAuB,CAAC;EAE9C,MAAMe,mBAAmB,GAAGJ,qBAAqB,CAAC,CAAC;EACnD,MAAMK,kBAAkB,GAAG,IAAAC,wBAAiB,EAACF,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;EACxE,MAAMG,gBAAgB,GAAGN,mBAAmB,CAAC,CAAC;EAC9C,MAAMO,WAAW,GAAG,IAAAC,sBAAc,EAAC,CAAC;EACpC,MAAMC,cAAc,GAAGX,wBAAwB,CAAC,CAAC;EACjD,MAAMY,mBAAmB,GAAGD,cAAc,IAAI1B,MAAM,KAAK,WAAW;EAEpE,IAAA4B,gBAAS,EAAC,MAAM;IACd,IAAIJ,WAAW,IAAIK,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC5C,MAAMC,SAAS,GAAGxD,IAAI,EAAEyD,EAAE,CAAC,YAAY,EAAE,MAAM;QAC7CC,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CAAC,oCAAoC,CAAC;QAC9CC,0BAAa,CAACC,sBAAsB,CAACC,WAAW,CAAC,CAAC;MACpD,CAAC,CAAC;MACF,MAAMC,YAAY,GAAGhE,IAAI,EAAEiE,KAAK,CAACC,aAAa,CAACC,SAAS,CAAEF,KAAK,IAAK;QAClE,IAAIA,KAAK,KAAKG,yBAAY,CAACC,IAAI,EAAE;UAC/BX,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CAAC,4CAA4C,CAAC;UACtDC,0BAAa,CAACC,sBAAsB,CAACC,WAAW,CAAC,CAAC;QACpD;MACF,CAAC,CAAC;MACF,OAAO,MAAM;QACXP,SAAS,GAAG,CAAC;QACbQ,YAAY,EAAEM,WAAW,CAAC,CAAC;MAC7B,CAAC;IACH;EACF,CAAC,EAAE,CAACrB,WAAW,EAAEjD,IAAI,CAAC,CAAC;EAEvB,MAAMuE,gBAAgB,GACpB,CAACnB,mBAAmB,IACpB,CAACH,WAAW,IACZH,kBAAkB,CAACtC,MAAM,GAAG,CAAC,IAC7BsC,kBAAkB,CAACtC,MAAM,GAAG,CAAC;EAE/B,MAAMgE,iCAAiC,GACrCD,gBAAgB,IAChBxC,mCAAmC,IACnCe,kBAAkB,CAACtC,MAAM,KAAK,CAAC;;EAEjC;AACF;AACA;EACE,MAAMiE,oBAAoB,GAAG,IAAAC,aAAM,EAAC9C,6BAA6B,CAAC;EAClE,IAAAyB,gBAAS,EAAC,MAAM;IACd,MAAMsB,iBAAiB,GAAG,IAAAC,8CAA4B,EAAC,CAAC;IACxD,IAAID,iBAAiB,EAAE;MACrBA,iBAAiB,CAACE,KAAK,CAAC;QAAEC,KAAK,EAAEL,oBAAoB,CAACM;MAAQ,CAAC,CAAC;MAChE,OAAO,MAAM;QACXJ,iBAAiB,CAACK,IAAI,CAAC,CAAC;MAC1B,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,mCAAmC,GAAGA,CAAA,KAAM;IAChD,IAAInC,kBAAkB,CAACtC,MAAM,KAAK,CAAC,EAAE;MACnC;IACF;IACAwB,sCAAsC,CAAEkD,SAAS,IAAK,CAACA,SAAS,CAAC;EACnE,CAAC;EAED,MAAMC,oBAAmD,GAAG;IAC1DhE,gBAAgB,EAAE8B,WAAW,GAAG,IAAI,GAAG9B,gBAAgB;IACvDC,kCAAkC,EAAE6B,WAAW,GAC3C,IAAI,GACJ7B,kCAAkC;IACtCC,mBAAmB;IACnBC,wBAAwB;IACxBE;EACF,CAAC;EAED,MAAM4D,yBAAoD,GAAG;IAC3D,GAAGD,oBAAoB;IACvBzD,SAAS;IACT2D,oBAAoB,EAAEb,iCAAiC;IACvDjD,eAAe;IACfX,oBAAoB;IACpBe;EACF,CAAC;EAED,MAAM2D,8BAA8D,GAAG;IACrE,GAAGH,oBAAoB;IACvBzD,SAAS;IACTH,eAAe;IACfX,oBAAoB;IACpBK,kBAAkB;IAClBU;EACF,CAAC;EAED,MAAM4D,eAA0B,GAAG;IACjCC,aAAa,EAAE9D,SAAS,GAAG,KAAK,GAAG;EACrC,CAAC;EAED,oBACEzD,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAAAxH,MAAA,CAAA0B,OAAA,CAAA+F,QAAA,QACG,CAAC5D,uBAAuB,iBACvB7D,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAAC1G,cAAA,CAAA4G,aAAa;IACZC,4BAA4B,EAAE/D;EAAmC,CAClE,CACF,eACD5D,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAACrH,YAAA,CAAAyH,IAAI;IAACC,KAAK,EAAE,CAAC5D,MAAM,CAAC6D,SAAS,EAAER,eAAe,EAAElD,WAAW,CAAC0D,SAAS;EAAE,gBACtE9H,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAACrH,YAAA,CAAAyH,IAAI;IAACC,KAAK,EAAE,CAAC5D,MAAM,CAAC8D,OAAO,EAAE3D,WAAW,CAAC4D,yBAAyB;EAAE,gBACnEhI,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAACrH,YAAA,CAAAyH,IAAI;IACHC,KAAK,EAAE,CAAC5D,MAAM,CAACgE,IAAI,EAAE7D,WAAW,CAAC8D,YAAY;IAC7C;IACA;IAAA;IACAC,aAAa,EAAC;EAAU,GAEvB7B,gBAAgB,IAAIxD,uBAAuB,iBAC1C9C,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAAC1E,uBAAuB,EAAAX,QAAA;IACtBiG,WAAW,EACT7B,iCAAiC,GAC7B1B,kBAAkB,CAAC,CAAC,CAAC,GACrBE,gBACL;IACDsD,cAAc,EAAErB,mCAAoC;IACpDtD,kBAAkB,EAAEA,kBAAmB;IACvC4E,SAAS,EAAC;EAAO,GACbpB,oBAAoB,CACzB,CAEC,CAAC,EACN/B,mBAAmB,gBAClBnF,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAACpH,WAAA,CAAAmI,yBAAyB,EAAKlB,8BAAiC,CAAC,gBAEjErH,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAACpH,WAAA,CAAAoI,oBAAoB,EAAKrB,yBAA4B,CAEpD,CAAC,EAEN,CAACnC,WAAW,IAAIpC,YAAY,iBAC3B5C,MAAA,CAAA0B,OAAA,CAAA8F,aAAA,CAAC5E,YAAY;IACXF,mBAAmB,EAAEA,mBAAoB;IACzCe,SAAS,EAAEA;EAAU,CACtB,CAEC,CACN,CAAC;AAEP,CAAC;AAACgF,OAAA,CAAAhG,WAAA,GAAAA,WAAA;AAEF,MAAMyB,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAE,kBAAQ,EAAC,CAAC;EAC5B,OAAO,IAAAqE,cAAO,EACZ,MACEC,uBAAU,CAACC,MAAM,CAAC;IAChBd,SAAS,EAAE;MACTe,IAAI,EAAE,CAAC;MACPC,aAAa,EAAE3E,KAAK,CAAC4E,QAAQ,CAACC,MAAM,CAACC,MAAM;MAC3CC,WAAW,EAAE/E,KAAK,CAAC4E,QAAQ,CAACC,MAAM,CAACG,IAAI;MACvCC,YAAY,EAAEjF,KAAK,CAAC4E,QAAQ,CAACC,MAAM,CAACK,KAAK;MACzCC,UAAU,EAAEnF,KAAK,CAAC4E,QAAQ,CAACC,MAAM,CAACO,GAAG;MACrCC,eAAe,EAAErF,KAAK,CAACsF,MAAM,CAACC;IAChC,CAAC;IACD3B,OAAO,EAAE;MAAEc,IAAI,EAAE;IAAE,CAAC;IACpBZ,IAAI,EAAE;MACJ,GAAGU,uBAAU,CAACgB,kBAAkB;MAChCC,MAAM,EAAEC,kBAAO,CAACC;IAClB;EACF,CAAC,CAAC,EACJ,CAAC3F,KAAK,CACR,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CallLayout","_CallControls","_videoReactBindings","_videoClient","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","_PrevLibDetection","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CallContent","onHangupCallHandler","CallParticipantsList","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","mirror","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useCall","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","useEffect","Platform","OS","unsubFunc","on","videoLoggerSystem","getLogger","debug","NativeModules","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","showFloatingView","isRemoteParticipantInFloatingView","incallManagerModeRef","useRef","prevInCallManager","getRNInCallManagerLibNoThrow","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","RTCViewPipIOS","includeLocalParticipantVideo","View","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","participant","onPressHandler","objectFit","CallParticipantsSpotlight","CallParticipantsGrid","exports","useMemo","StyleSheet","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","Z_INDEX","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -17,15 +17,20 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
17
17
  const RTCViewPipIOS = exports.RTCViewPipIOS = /*#__PURE__*/_react.default.memo(props => {
18
18
  const {
19
19
  includeLocalParticipantVideo,
20
+ mirror: mirrorOverride,
20
21
  onPiPChange
21
22
  } = props;
22
23
  const call = (0, _videoReactBindings.useCall)();
23
24
  const {
24
- useParticipants
25
+ useParticipants,
26
+ useCameraState
25
27
  } = (0, _videoReactBindings.useCallStateHooks)();
26
28
  const _allParticipants = useParticipants({
27
29
  sortBy: _videoClient.speakerLayoutSortPreset
28
30
  });
31
+ const {
32
+ direction
33
+ } = useCameraState();
29
34
  const allParticipants = (0, _hooks.useDebouncedValue)(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
30
35
 
31
36
  const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(participant => includeLocalParticipantVideo ? true : !participant.isLocalParticipant);
@@ -81,6 +86,7 @@ const RTCViewPipIOS = exports.RTCViewPipIOS = /*#__PURE__*/_react.default.memo(p
81
86
  } = participantInSpotlight || {};
82
87
  const isScreenSharing = participantInSpotlight ? (0, _videoClient.hasScreenShare)(participantInSpotlight) : false;
83
88
  const videoStreamToRender = isScreenSharing ? screenShareStream : videoStream;
89
+ const mirror = isScreenSharing ? false : mirrorOverride !== undefined ? mirrorOverride : !!participantInSpotlight?.isLocalParticipant && direction === 'front';
84
90
  const streamURL = (0, _react.useMemo)(() => {
85
91
  if (!videoStreamToRender) {
86
92
  return undefined;
@@ -93,6 +99,7 @@ const RTCViewPipIOS = exports.RTCViewPipIOS = /*#__PURE__*/_react.default.memo(p
93
99
  };
94
100
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_RTCViewPipNative.RTCViewPipNative, {
95
101
  streamURL: streamURL,
102
+ mirror: mirror,
96
103
  ref: nativeRef,
97
104
  onPiPChange: handlePiPChange
98
105
  }), participantInSpotlight && /*#__PURE__*/_react.default.createElement(DimensionsUpdatedRenderless, {
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_videoReactBindings","_react","_interopRequireWildcard","_reactNative","_RTCViewPipNative","_hooks","_shouldDisableIOSLocalVideoOnBackground","_useTrackDimensions","_rxSubjects","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RTCViewPipIOS","exports","React","memo","props","includeLocalParticipantVideo","onPiPChange","useCall","useParticipants","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","allParticipants","useDebouncedValue","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","useEffect","shouldDisableIOSLocalVideoOnBackgroundRef","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","findNodeHandle","onNativeCallClosed","unsubFunc","on","videoLoggerSystem","getLogger","debug","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","onDimensionsUpdated","useCallback","width","height","onNativeDimensionsUpdated","videoStream","screenShareStream","isScreenSharing","hasScreenShare","videoStreamToRender","streamURL","useMemo","undefined","toURL","handlePiPChange","event","isInPiPMode$","next","nativeEvent","active","createElement","Fragment","RTCViewPipNative","ref","DimensionsUpdatedRenderless","trackType","key","useTrackDimensions","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_videoReactBindings","_react","_interopRequireWildcard","_reactNative","_RTCViewPipNative","_hooks","_shouldDisableIOSLocalVideoOnBackground","_useTrackDimensions","_rxSubjects","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RTCViewPipIOS","exports","React","memo","props","includeLocalParticipantVideo","mirror","mirrorOverride","onPiPChange","useCall","useParticipants","useCameraState","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","direction","allParticipants","useDebouncedValue","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","useEffect","shouldDisableIOSLocalVideoOnBackgroundRef","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","findNodeHandle","onNativeCallClosed","unsubFunc","on","videoLoggerSystem","getLogger","debug","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","onDimensionsUpdated","useCallback","width","height","onNativeDimensionsUpdated","videoStream","screenShareStream","isScreenSharing","hasScreenShare","videoStreamToRender","undefined","streamURL","useMemo","toURL","handlePiPChange","event","isInPiPMode$","next","nativeEvent","active","createElement","Fragment","RTCViewPipNative","ref","DimensionsUpdatedRenderless","trackType","key","useTrackDimensions","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,9 @@ const RTCViewPipNative = exports.RTCViewPipNative = /*#__PURE__*/_react.default.
40
40
  streamURL: props.streamURL
41
41
  // eslint-disable-next-line react/prop-types
42
42
  ,
43
+ mirror: props.mirror
44
+ // eslint-disable-next-line react/prop-types
45
+ ,
43
46
  onPiPChange: props.onPiPChange
44
47
  // @ts-expect-error - types issue
45
48
  ,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoClient","e","__esModule","default","COMPONENT_NAME","NativeComponent","requireNativeComponent","onNativeCallClosed","reactTag","videoLoggerSystem","getLogger","debug","commandId","UIManager","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","exports","React","memo","forwardRef","props","ref","Platform","OS","createElement","style","StyleSheet","absoluteFill","pointerEvents","streamURL","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5D,MAAMG,cAAc,GAAG,YAAY;AAWnC,MAAMC,eAAqD,GACzD,IAAAC,mCAAsB,EAACF,cAAc,CAAC;AAEjC,SAASG,kBAAkBA,CAACC,QAAgB,EAAE;EACnDC,8BAAiB,CAACC,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACJ,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEO,SAASM,yBAAyBA,CACvCV,QAAgB,EAChBW,KAAa,EACbC,MAAc,EACd;EACAX,8BAAiB,CACdC,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCQ,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMR,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACT,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,CAACO,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,cACxCD,cAAK,CAACE,UAAU,CAMd,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACElC,MAAA,CAAAO,OAAA,CAAA4B,aAAA,CAAC1B,eAAe;IACd2B,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAET,KAAK,CAACS;IACjB;IAAA;IACAC,WAAW,EAAEV,KAAK,CAACU;IACnB;IAAA;IACAT,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoClient","e","__esModule","default","COMPONENT_NAME","NativeComponent","requireNativeComponent","onNativeCallClosed","reactTag","videoLoggerSystem","getLogger","debug","commandId","UIManager","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","exports","React","memo","forwardRef","props","ref","Platform","OS","createElement","style","StyleSheet","absoluteFill","pointerEvents","streamURL","mirror","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5D,MAAMG,cAAc,GAAG,YAAY;AAYnC,MAAMC,eAAqD,GACzD,IAAAC,mCAAsB,EAACF,cAAc,CAAC;AAEjC,SAASG,kBAAkBA,CAACC,QAAgB,EAAE;EACnDC,8BAAiB,CAACC,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACJ,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEO,SAASM,yBAAyBA,CACvCV,QAAgB,EAChBW,KAAa,EACbC,MAAc,EACd;EACAX,8BAAiB,CACdC,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCQ,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMR,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACT,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,CAACO,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,cACxCD,cAAK,CAACE,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACElC,MAAA,CAAAO,OAAA,CAAA4B,aAAA,CAAC1B,eAAe;IACd2B,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAET,KAAK,CAACS;IACjB;IAAA;IACAC,MAAM,EAAEV,KAAK,CAACU;IACd;IAAA;IACAC,WAAW,EAAEX,KAAK,CAACW;IACnB;IAAA;IACAV,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.registerSDKGlobals = registerSDKGlobals;
7
7
  var _reactNative = require("react-native");
8
8
  const StreamInCallManagerNativeModule = _reactNative.NativeModules.StreamInCallManager;
9
+ const StreamVideoReactNativeModule = _reactNative.NativeModules.StreamVideoReactNative;
9
10
  const streamRNVideoSDKGlobals = {
10
11
  callManager: {
11
12
  setup: ({
@@ -20,6 +21,17 @@ const streamRNVideoSDKGlobals = {
20
21
  stop: () => {
21
22
  StreamInCallManagerNativeModule.stop();
22
23
  }
24
+ },
25
+ permissions: {
26
+ check: async permission => {
27
+ if (_reactNative.Platform.OS === 'android') {
28
+ const nativeAndroidPermission = permission === 'camera' ? _reactNative.PermissionsAndroid.PERMISSIONS.CAMERA : _reactNative.PermissionsAndroid.PERMISSIONS.RECORD_AUDIO;
29
+ return _reactNative.PermissionsAndroid.check(nativeAndroidPermission);
30
+ }
31
+
32
+ // use our own service on iOS
33
+ return Boolean(await StreamVideoReactNativeModule.checkPermission?.(permission));
34
+ }
23
35
  }
24
36
  };
25
37
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BN,+BAA+B,CAACO,iCAAiC,CAC/DD,aACF,CAAC;MACDN,+BAA+B,CAACK,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXR,+BAA+B,CAACQ,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVT,+BAA+B,CAACS,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","Platform","OS","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGF,0BAAa,CAACG,sBAElD;AAED,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BR,+BAA+B,CAACS,iCAAiC,CAC/DD,aACF,CAAC;MACDR,+BAA+B,CAACO,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXV,+BAA+B,CAACU,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVX,+BAA+B,CAACW,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMC,uBAAuB,GAC3BH,UAAU,KAAK,QAAQ,GACnBI,+BAAkB,CAACC,WAAW,CAACC,MAAM,GACrCF,+BAAkB,CAACC,WAAW,CAACE,YAAY;QACjD,OAAOH,+BAAkB,CAACL,KAAK,CAACI,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOK,OAAO,CACZ,MAAMnB,4BAA4B,CAACoB,eAAe,GAAGT,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASU,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGrB,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.29.0';
7
+ const version = exports.version = '1.29.1';
8
8
  //# sourceMappingURL=version.js.map
@@ -25,6 +25,7 @@ export const CallContent = ({
25
25
  ParticipantVideoFallback,
26
26
  ParticipantView,
27
27
  VideoRenderer,
28
+ mirror,
28
29
  layout = 'grid',
29
30
  landscape = false,
30
31
  supportedReactions,
@@ -106,6 +107,7 @@ export const CallContent = ({
106
107
  landscape,
107
108
  showLocalParticipant: isRemoteParticipantInFloatingView,
108
109
  ParticipantView,
110
+ mirror,
109
111
  CallParticipantsList,
110
112
  supportedReactions
111
113
  };
@@ -113,6 +115,7 @@ export const CallContent = ({
113
115
  ...participantViewProps,
114
116
  landscape,
115
117
  ParticipantView,
118
+ mirror,
116
119
  CallParticipantsList,
117
120
  ScreenShareOverlay,
118
121
  supportedReactions
@@ -121,7 +124,8 @@ export const CallContent = ({
121
124
  flexDirection: landscape ? 'row' : 'column'
122
125
  };
123
126
  return /*#__PURE__*/React.createElement(React.Fragment, null, !disablePictureInPicture && /*#__PURE__*/React.createElement(RTCViewPipIOS, {
124
- includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo
127
+ includeLocalParticipantVideo: iOSPiPIncludeLocalParticipantVideo,
128
+ mirror: mirror
125
129
  }), /*#__PURE__*/React.createElement(View, {
126
130
  style: [styles.container, landscapeStyles, callContent.container]
127
131
  }, /*#__PURE__*/React.createElement(View, {
@@ -136,7 +140,8 @@ export const CallContent = ({
136
140
  participant: isRemoteParticipantInFloatingView ? remoteParticipants[0] : localParticipant,
137
141
  onPressHandler: handleFloatingViewParticipantSwitch,
138
142
  supportedReactions: supportedReactions,
139
- objectFit: "cover"
143
+ objectFit: "cover",
144
+ mirror: mirror
140
145
  }, participantViewProps))), showSpotlightLayout ? /*#__PURE__*/React.createElement(CallParticipantsSpotlight, callParticipantsSpotlightProps) : /*#__PURE__*/React.createElement(CallParticipantsGrid, callParticipantsGridProps)), !isInPiPMode && CallControls && /*#__PURE__*/React.createElement(CallControls, {
141
146
  onHangupCallHandler: onHangupCallHandler,
142
147
  landscape: landscape
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCall","useCallStateHooks","CallingState","videoLoggerSystem","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","getRNInCallManagerLibNoThrow","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","call","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","OS","unsubFunc","on","getLogger","debug","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","LEFT","unsubscribe","showFloatingView","length","isRemoteParticipantInFloatingView","incallManagerModeRef","prevInCallManager","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnE,SACEC,aAAa,EACbC,QAAQ,EACRC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EAEpBC,yBAAyB,QAEpB,eAAe;AACtB,SAEEC,YAAY,IAAIC,mBAAmB,QAE9B,iBAAiB;AACxB,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SACEC,YAAY,EAEZC,iBAAiB,QACZ,yBAAyB;AAEhC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SACEC,uBAAuB,IAAIC,8BAA8B,QAGpD,mBAAmB;AAC1B,SAASC,QAAQ,QAAQ,mBAAmB;AAK5C,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,gBAAgB;AACtE,SACEC,kBAAkB,IAAIC,yBAAyB,QAE1C,kCAAkC;AACzC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,4BAA4B,QAAQ,gDAAgD;AA+D7F,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBnB,YAAY,GAAGC,mBAAmB;EAClCO,uBAAuB,GAAGC,8BAA8B;EACxDI,kBAAkB,GAAGC,yBAAyB;EAC9CM,gBAAgB;EAChBC,kCAAkC;EAClCC,mBAAmB;EACnBC,wBAAwB;EACxBC,eAAe;EACfC,aAAa;EACbC,MAAM,GAAG,MAAM;EACfC,SAAS,GAAG,KAAK;EACjBC,kBAAkB;EAClBC,6BAA6B,GAAG,OAAO;EACvCC,kCAAkC;EAClCC;AACgB,CAAC,KAAK;EACtB,MAAM,CACJC,mCAAmC,EACnCC,sCAAsC,CACvC,GAAGxC,QAAQ,CAAU,KAAK,CAAC;EAC5B,MAAMyC,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAY;EACvB,CAAC,GAAG3B,QAAQ,CAAC,CAAC;EACd,MAAM4B,IAAI,GAAGpC,OAAO,CAAC,CAAC;EACtB,MAAM;IACJqC,wBAAwB;IACxBC,qBAAqB;IACrBC;EACF,CAAC,GAAGtC,iBAAiB,CAAC,CAAC;EAEvBQ,qBAAqB,CAACoB,uBAAuB,CAAC;EAE9C,MAAMW,mBAAmB,GAAGF,qBAAqB,CAAC,CAAC;EACnD,MAAMG,kBAAkB,GAAGpC,iBAAiB,CAACmC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;EACxE,MAAME,gBAAgB,GAAGH,mBAAmB,CAAC,CAAC;EAC9C,MAAMI,WAAW,GAAGjC,cAAc,CAAC,CAAC;EACpC,MAAMkC,cAAc,GAAGP,wBAAwB,CAAC,CAAC;EACjD,MAAMQ,mBAAmB,GAAGD,cAAc,IAAIpB,MAAM,KAAK,WAAW;EAEpEpC,SAAS,CAAC,MAAM;IACd,IAAIuD,WAAW,IAAIlD,QAAQ,CAACqD,EAAE,KAAK,SAAS,EAAE;MAC5C,MAAMC,SAAS,GAAGX,IAAI,EAAEY,EAAE,CAAC,YAAY,EAAE,MAAM;QAC7C7C,iBAAiB,CACd8C,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CAAC,oCAAoC,CAAC;QAC9C1D,aAAa,CAAC2D,sBAAsB,CAACC,WAAW,CAAC,CAAC;MACpD,CAAC,CAAC;MACF,MAAMC,YAAY,GAAGjB,IAAI,EAAEkB,KAAK,CAACC,aAAa,CAACC,SAAS,CAAEF,KAAK,IAAK;QAClE,IAAIA,KAAK,KAAKpD,YAAY,CAACuD,IAAI,EAAE;UAC/BtD,iBAAiB,CACd8C,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CAAC,4CAA4C,CAAC;UACtD1D,aAAa,CAAC2D,sBAAsB,CAACC,WAAW,CAAC,CAAC;QACpD;MACF,CAAC,CAAC;MACF,OAAO,MAAM;QACXL,SAAS,GAAG,CAAC;QACbM,YAAY,EAAEK,WAAW,CAAC,CAAC;MAC7B,CAAC;IACH;EACF,CAAC,EAAE,CAACf,WAAW,EAAEP,IAAI,CAAC,CAAC;EAEvB,MAAMuB,gBAAgB,GACpB,CAACd,mBAAmB,IACpB,CAACF,WAAW,IACZF,kBAAkB,CAACmB,MAAM,GAAG,CAAC,IAC7BnB,kBAAkB,CAACmB,MAAM,GAAG,CAAC;EAE/B,MAAMC,iCAAiC,GACrCF,gBAAgB,IAChB7B,mCAAmC,IACnCW,kBAAkB,CAACmB,MAAM,KAAK,CAAC;;EAEjC;AACF;AACA;EACE,MAAME,oBAAoB,GAAGxE,MAAM,CAACqC,6BAA6B,CAAC;EAClEvC,SAAS,CAAC,MAAM;IACd,MAAM2E,iBAAiB,GAAGjD,4BAA4B,CAAC,CAAC;IACxD,IAAIiD,iBAAiB,EAAE;MACrBA,iBAAiB,CAACC,KAAK,CAAC;QAAEC,KAAK,EAAEH,oBAAoB,CAACI;MAAQ,CAAC,CAAC;MAChE,OAAO,MAAM;QACXH,iBAAiB,CAACI,IAAI,CAAC,CAAC;MAC1B,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,mCAAmC,GAAGA,CAAA,KAAM;IAChD,IAAI3B,kBAAkB,CAACmB,MAAM,KAAK,CAAC,EAAE;MACnC;IACF;IACA7B,sCAAsC,CAAEsC,SAAS,IAAK,CAACA,SAAS,CAAC;EACnE,CAAC;EAED,MAAMC,oBAAmD,GAAG;IAC1DpD,gBAAgB,EAAEyB,WAAW,GAAG,IAAI,GAAGzB,gBAAgB;IACvDC,kCAAkC,EAAEwB,WAAW,GAC3C,IAAI,GACJxB,kCAAkC;IACtCC,mBAAmB;IACnBC,wBAAwB;IACxBE;EACF,CAAC;EAED,MAAMgD,yBAAoD,GAAG;IAC3D,GAAGD,oBAAoB;IACvB7C,SAAS;IACT+C,oBAAoB,EAAEX,iCAAiC;IACvDvC,eAAe;IACfL,oBAAoB;IACpBS;EACF,CAAC;EAED,MAAM+C,8BAA8D,GAAG;IACrE,GAAGH,oBAAoB;IACvB7C,SAAS;IACTH,eAAe;IACfL,oBAAoB;IACpBN,kBAAkB;IAClBe;EACF,CAAC;EAED,MAAMgD,eAA0B,GAAG;IACjCC,aAAa,EAAElD,SAAS,GAAG,KAAK,GAAG;EACrC,CAAC;EAED,oBACEtC,KAAA,CAAAyF,aAAA,CAAAzF,KAAA,CAAA0F,QAAA,QACG,CAAChD,uBAAuB,iBACvB1C,KAAA,CAAAyF,aAAA,CAAC/D,aAAa;IACZiE,4BAA4B,EAAElD;EAAmC,CAClE,CACF,eACDzC,KAAA,CAAAyF,aAAA,CAACjF,IAAI;IAACoF,KAAK,EAAE,CAAC/C,MAAM,CAACgD,SAAS,EAAEN,eAAe,EAAEvC,WAAW,CAAC6C,SAAS;EAAE,gBACtE7F,KAAA,CAAAyF,aAAA,CAACjF,IAAI;IAACoF,KAAK,EAAE,CAAC/C,MAAM,CAACiD,OAAO,EAAE9C,WAAW,CAAC+C,yBAAyB;EAAE,gBACnE/F,KAAA,CAAAyF,aAAA,CAACjF,IAAI;IACHoF,KAAK,EAAE,CAAC/C,MAAM,CAACmD,IAAI,EAAEhD,WAAW,CAACiD,YAAY;IAC7C;IACA;IAAA;IACAC,aAAa,EAAC;EAAU,GAEvB1B,gBAAgB,IAAIrD,uBAAuB,iBAC1CnB,KAAA,CAAAyF,aAAA,CAACtE,uBAAuB,EAAAgF,QAAA;IACtBC,WAAW,EACT1B,iCAAiC,GAC7BpB,kBAAkB,CAAC,CAAC,CAAC,GACrBC,gBACL;IACD8C,cAAc,EAAEpB,mCAAoC;IACpD1C,kBAAkB,EAAEA,kBAAmB;IACvC+D,SAAS,EAAC;EAAO,GACbnB,oBAAoB,CACzB,CAEC,CAAC,EACNzB,mBAAmB,gBAClB1D,KAAA,CAAAyF,aAAA,CAAC/E,yBAAyB,EAAK4E,8BAAiC,CAAC,gBAEjEtF,KAAA,CAAAyF,aAAA,CAAChF,oBAAoB,EAAK2E,yBAA4B,CAEpD,CAAC,EAEN,CAAC5B,WAAW,IAAI7C,YAAY,iBAC3BX,KAAA,CAAAyF,aAAA,CAAC9E,YAAY;IACXkB,mBAAmB,EAAEA,mBAAoB;IACzCS,SAAS,EAAEA;EAAU,CACtB,CAEC,CACN,CAAC;AAEP,CAAC;AAED,MAAMQ,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAM,CAAC,GAAG1B,QAAQ,CAAC,CAAC;EAC5B,OAAOnB,OAAO,CACZ,MACEK,UAAU,CAACgG,MAAM,CAAC;IAChBV,SAAS,EAAE;MACTW,IAAI,EAAE,CAAC;MACPC,aAAa,EAAE1D,KAAK,CAAC2D,QAAQ,CAACC,MAAM,CAACC,MAAM;MAC3CC,WAAW,EAAE9D,KAAK,CAAC2D,QAAQ,CAACC,MAAM,CAACG,IAAI;MACvCC,YAAY,EAAEhE,KAAK,CAAC2D,QAAQ,CAACC,MAAM,CAACK,KAAK;MACzCC,UAAU,EAAElE,KAAK,CAAC2D,QAAQ,CAACC,MAAM,CAACO,GAAG;MACrCC,eAAe,EAAEpE,KAAK,CAACqE,MAAM,CAACC;IAChC,CAAC;IACDvB,OAAO,EAAE;MAAEU,IAAI,EAAE;IAAE,CAAC;IACpBR,IAAI,EAAE;MACJ,GAAGzF,UAAU,CAAC+G,kBAAkB;MAChCC,MAAM,EAAEtG,OAAO,CAACuG;IAClB;EACF,CAAC,CAAC,EACJ,CAACzE,KAAK,CACR,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCall","useCallStateHooks","CallingState","videoLoggerSystem","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","getRNInCallManagerLibNoThrow","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","mirror","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","call","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","OS","unsubFunc","on","getLogger","debug","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","LEFT","unsubscribe","showFloatingView","length","isRemoteParticipantInFloatingView","incallManagerModeRef","prevInCallManager","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,15 +10,20 @@ import { isInPiPMode$ } from '../../../utils/internal/rxSubjects';
10
10
  export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
11
11
  const {
12
12
  includeLocalParticipantVideo,
13
+ mirror: mirrorOverride,
13
14
  onPiPChange
14
15
  } = props;
15
16
  const call = useCall();
16
17
  const {
17
- useParticipants
18
+ useParticipants,
19
+ useCameraState
18
20
  } = useCallStateHooks();
19
21
  const _allParticipants = useParticipants({
20
22
  sortBy: speakerLayoutSortPreset
21
23
  });
24
+ const {
25
+ direction
26
+ } = useCameraState();
22
27
  const allParticipants = useDebouncedValue(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
23
28
 
24
29
  const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(participant => includeLocalParticipantVideo ? true : !participant.isLocalParticipant);
@@ -74,6 +79,7 @@ export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
74
79
  } = participantInSpotlight || {};
75
80
  const isScreenSharing = participantInSpotlight ? hasScreenShare(participantInSpotlight) : false;
76
81
  const videoStreamToRender = isScreenSharing ? screenShareStream : videoStream;
82
+ const mirror = isScreenSharing ? false : mirrorOverride !== undefined ? mirrorOverride : !!participantInSpotlight?.isLocalParticipant && direction === 'front';
77
83
  const streamURL = useMemo(() => {
78
84
  if (!videoStreamToRender) {
79
85
  return undefined;
@@ -86,6 +92,7 @@ export const RTCViewPipIOS = /*#__PURE__*/React.memo(props => {
86
92
  };
87
93
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RTCViewPipNative, {
88
94
  streamURL: streamURL,
95
+ mirror: mirror,
89
96
  ref: nativeRef,
90
97
  onPiPChange: handlePiPChange
91
98
  }), participantInSpotlight && /*#__PURE__*/React.createElement(DimensionsUpdatedRenderless, {
@@ -1 +1 @@
1
- {"version":3,"names":["CallingState","hasScreenShare","speakerLayoutSortPreset","videoLoggerSystem","useCall","useCallStateHooks","React","useEffect","useMemo","useCallback","findNodeHandle","onNativeCallClosed","onNativeDimensionsUpdated","RTCViewPipNative","useDebouncedValue","shouldDisableIOSLocalVideoOnBackgroundRef","useTrackDimensions","isInPiPMode$","RTCViewPipIOS","memo","props","includeLocalParticipantVideo","onPiPChange","call","useParticipants","_allParticipants","sortBy","allParticipants","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","unsubFunc","on","getLogger","debug","subscription","state","callingState$","subscribe","LEFT","unsubscribe","onDimensionsUpdated","width","height","videoStream","screenShareStream","isScreenSharing","videoStreamToRender","streamURL","undefined","toURL","handlePiPChange","event","next","nativeEvent","active","createElement","Fragment","ref","DimensionsUpdatedRenderless","trackType","key","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CallingState","hasScreenShare","speakerLayoutSortPreset","videoLoggerSystem","useCall","useCallStateHooks","React","useEffect","useMemo","useCallback","findNodeHandle","onNativeCallClosed","onNativeDimensionsUpdated","RTCViewPipNative","useDebouncedValue","shouldDisableIOSLocalVideoOnBackgroundRef","useTrackDimensions","isInPiPMode$","RTCViewPipIOS","memo","props","includeLocalParticipantVideo","mirror","mirrorOverride","onPiPChange","call","useParticipants","useCameraState","_allParticipants","sortBy","direction","allParticipants","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","unsubFunc","on","getLogger","debug","subscription","state","callingState$","subscribe","LEFT","unsubscribe","onDimensionsUpdated","width","height","videoStream","screenShareStream","isScreenSharing","videoStreamToRender","undefined","streamURL","toURL","handlePiPChange","event","next","nativeEvent","active","createElement","Fragment","ref","DimensionsUpdatedRenderless","trackType","key","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,9 @@ export const RTCViewPipNative = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwa
31
31
  streamURL: props.streamURL
32
32
  // eslint-disable-next-line react/prop-types
33
33
  ,
34
+ mirror: props.mirror
35
+ // eslint-disable-next-line react/prop-types
36
+ ,
34
37
  onPiPChange: props.onPiPChange
35
38
  // @ts-expect-error - types issue
36
39
  ,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","requireNativeComponent","StyleSheet","UIManager","videoLoggerSystem","COMPONENT_NAME","NativeComponent","onNativeCallClosed","reactTag","getLogger","debug","commandId","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","memo","forwardRef","props","ref","OS","createElement","style","absoluteFill","pointerEvents","streamURL","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,QAAQ,EACRC,sBAAsB,EACtBC,UAAU,EACVC,SAAS,QACJ,cAAc;AACrB,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,MAAMC,cAAc,GAAG,YAAY;AAWnC,MAAMC,eAAqD,GACzDL,sBAAsB,CAACI,cAAc,CAAC;AAExC,OAAO,SAASE,kBAAkBA,CAACC,QAAgB,EAAE;EACnDJ,iBAAiB,CAACK,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACH,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEA,OAAO,SAASK,yBAAyBA,CACvCR,QAAgB,EAChBS,KAAa,EACbC,MAAc,EACd;EACAd,iBAAiB,CACdK,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCO,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMP,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACR,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,CAACM,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACA,OAAO,MAAME,gBAAgB,gBAAGrB,KAAK,CAACsB,IAAI,cACxCtB,KAAK,CAACuB,UAAU,CAMd,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChB,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACE1B,KAAA,CAAA2B,aAAA,CAACpB,eAAe;IACdqB,KAAK,EAAEzB,UAAU,CAAC0B,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAEP,KAAK,CAACO;IACjB;IAAA;IACAC,WAAW,EAAER,KAAK,CAACQ;IACnB;IAAA;IACAP,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","requireNativeComponent","StyleSheet","UIManager","videoLoggerSystem","COMPONENT_NAME","NativeComponent","onNativeCallClosed","reactTag","getLogger","debug","commandId","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","memo","forwardRef","props","ref","OS","createElement","style","absoluteFill","pointerEvents","streamURL","mirror","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAEEC,QAAQ,EACRC,sBAAsB,EACtBC,UAAU,EACVC,SAAS,QACJ,cAAc;AACrB,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,MAAMC,cAAc,GAAG,YAAY;AAYnC,MAAMC,eAAqD,GACzDL,sBAAsB,CAACI,cAAc,CAAC;AAExC,OAAO,SAASE,kBAAkBA,CAACC,QAAgB,EAAE;EACnDJ,iBAAiB,CAACK,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACH,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEA,OAAO,SAASK,yBAAyBA,CACvCR,QAAgB,EAChBS,KAAa,EACbC,MAAc,EACd;EACAd,iBAAiB,CACdK,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCO,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMP,SAAS,GACbR,SAAS,CAACS,oBAAoB,CAACP,cAAc,CAAC,CAACQ,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACR,SAAS,EAAE;EAChBR,SAAS,CAACY,0BAA0B,CAACP,QAAQ,EAAEG,SAAS,EAAE,CAACM,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACA,OAAO,MAAME,gBAAgB,gBAAGrB,KAAK,CAACsB,IAAI,cACxCtB,KAAK,CAACuB,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACE1B,KAAA,CAAA2B,aAAA,CAACpB,eAAe;IACdqB,KAAK,EAAEzB,UAAU,CAAC0B,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAEP,KAAK,CAACO;IACjB;IAAA;IACAC,MAAM,EAAER,KAAK,CAACQ;IACd;IAAA;IACAC,WAAW,EAAET,KAAK,CAACS;IACnB;IAAA;IACAR,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import { NativeModules } from 'react-native';
1
+ import { NativeModules, PermissionsAndroid, Platform } from 'react-native';
2
2
  const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
3
+ const StreamVideoReactNativeModule = NativeModules.StreamVideoReactNative;
3
4
  const streamRNVideoSDKGlobals = {
4
5
  callManager: {
5
6
  setup: ({
@@ -14,6 +15,17 @@ const streamRNVideoSDKGlobals = {
14
15
  stop: () => {
15
16
  StreamInCallManagerNativeModule.stop();
16
17
  }
18
+ },
19
+ permissions: {
20
+ check: async permission => {
21
+ if (Platform.OS === 'android') {
22
+ const nativeAndroidPermission = permission === 'camera' ? PermissionsAndroid.PERMISSIONS.CAMERA : PermissionsAndroid.PERMISSIONS.RECORD_AUDIO;
23
+ return PermissionsAndroid.check(nativeAndroidPermission);
24
+ }
25
+
26
+ // use our own service on iOS
27
+ return Boolean(await StreamVideoReactNativeModule.checkPermission?.(permission));
28
+ }
17
29
  }
18
30
  };
19
31
 
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","StreamInCallManagerNativeModule","StreamInCallManager","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,+BAA+B,GAAGD,aAAa,CAACE,mBAAmB;AAEzE,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BL,+BAA+B,CAACM,iCAAiC,CAC/DD,aACF,CAAC;MACDL,+BAA+B,CAACI,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXP,+BAA+B,CAACO,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVR,+BAA+B,CAACQ,IAAI,CAAC,CAAC;IACxC;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGT,uBAAuB;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","PermissionsAndroid","Platform","StreamInCallManagerNativeModule","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","streamRNVideoSDKGlobals","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","OS","nativeAndroidPermission","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":"AACA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,+BAA+B,GAAGH,aAAa,CAACI,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGL,aAAa,CAACM,sBAElD;AAED,MAAMC,uBAAgD,GAAG;EACvDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC;IAAc,CAAC,KAAK;MAC5BP,+BAA+B,CAACQ,iCAAiC,CAC/DD,aACF,CAAC;MACDP,+BAA+B,CAACM,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAA,KAAM;MACXT,+BAA+B,CAACS,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAA,KAAM;MACVV,+BAA+B,CAACU,IAAI,CAAC,CAAC;IACxC;EACF,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAId,QAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMC,uBAAuB,GAC3BF,UAAU,KAAK,QAAQ,GACnBf,kBAAkB,CAACkB,WAAW,CAACC,MAAM,GACrCnB,kBAAkB,CAACkB,WAAW,CAACE,YAAY;QACjD,OAAOpB,kBAAkB,CAACc,KAAK,CAACG,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOI,OAAO,CACZ,MAAMjB,4BAA4B,CAACkB,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,SAASQ,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAGnB,uBAAuB;EACnD;AACF","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.29.0';
1
+ export const version = '1.29.1';
2
2
  //# sourceMappingURL=version.js.map
@@ -7,7 +7,7 @@ import { type ScreenShareOverlayProps } from '../../utility/ScreenShareOverlay';
7
7
  export type StreamReactionType = StreamReaction & {
8
8
  icon: string;
9
9
  };
10
- type CallContentComponentProps = ParticipantViewComponentProps & Pick<CallParticipantsListComponentProps, 'ParticipantView'> & {
10
+ type CallContentComponentProps = ParticipantViewComponentProps & Pick<CallParticipantsListComponentProps, 'ParticipantView' | 'mirror'> & {
11
11
  /**
12
12
  * Component to customize the CallControls component.
13
13
  */
@@ -50,6 +50,6 @@ export type CallContentProps = Pick<HangUpCallButtonProps, 'onHangupCallHandler'
50
50
  */
51
51
  initialInCallManagerAudioMode?: 'video' | 'audio';
52
52
  };
53
- export declare const CallContent: ({ onHangupCallHandler, CallParticipantsList, CallControls, FloatingParticipantView, ScreenShareOverlay, ParticipantLabel, ParticipantNetworkQualityIndicator, ParticipantReaction, ParticipantVideoFallback, ParticipantView, VideoRenderer, layout, landscape, supportedReactions, initialInCallManagerAudioMode, iOSPiPIncludeLocalParticipantVideo, disablePictureInPicture, }: CallContentProps) => React.JSX.Element;
53
+ export declare const CallContent: ({ onHangupCallHandler, CallParticipantsList, CallControls, FloatingParticipantView, ScreenShareOverlay, ParticipantLabel, ParticipantNetworkQualityIndicator, ParticipantReaction, ParticipantVideoFallback, ParticipantView, VideoRenderer, mirror, layout, landscape, supportedReactions, initialInCallManagerAudioMode, iOSPiPIncludeLocalParticipantVideo, disablePictureInPicture, }: CallContentProps) => React.JSX.Element;
54
54
  export {};
55
55
  //# sourceMappingURL=CallContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAcpE,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,yBAAyB,GAAG,6BAA6B,GAC5D,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,GAAG;IAC5D;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;IACnF;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAC1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,EACrB,qBAAqB,CACtB,GACC,yBAAyB,GAAG;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAK1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACH,6BAA6B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACnD,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,mXAkBzB,gBAAgB,sBA6JlB,CAAC"}
1
+ {"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAcpE,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,yBAAyB,GAAG,6BAA6B,GAC5D,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,GAAG;IACvE;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;IACnF;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAC1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,EACrB,qBAAqB,CACtB,GACC,yBAAyB,GAAG;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAK1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACH,6BAA6B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACnD,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,2XAmBzB,gBAAgB,sBAiKlB,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
2
  type Props = {
3
3
  includeLocalParticipantVideo?: boolean;
4
+ /**
5
+ * Optional video mirroring override.
6
+ */
7
+ mirror?: boolean;
4
8
  /**
5
9
  * Callback that is called when the PiP mode state changes.
6
10
  * @param active - true when PiP started, false when PiP stopped
@@ -1 +1 @@
1
- {"version":3,"file":"RTCViewPipIOS.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipIOS.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAY/D,KAAK,KAAK,GAAG;IACX,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAsB,KAAK,uBA6GnD,CAAC"}
1
+ {"version":3,"file":"RTCViewPipIOS.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipIOS.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAY/D,KAAK,KAAK,GAAG;IACX,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAsB,KAAK,uBAyHnD,CAAC"}
@@ -2,14 +2,17 @@ import React from 'react';
2
2
  export type PiPChangeEvent = {
3
3
  active: boolean;
4
4
  };
5
- export declare function onNativeCallClosed(reactTag: number): void;
6
- export declare function onNativeDimensionsUpdated(reactTag: number, width: number, height: number): void;
7
- /** Wrapper for the native view
8
- * meant to stay private and not exposed */
9
- export declare const RTCViewPipNative: React.NamedExoticComponent<{
5
+ type RTCViewPipNativeProps = {
10
6
  streamURL?: string;
7
+ mirror?: boolean;
11
8
  onPiPChange?: (event: {
12
9
  nativeEvent: PiPChangeEvent;
13
10
  }) => void;
14
- } & React.RefAttributes<React.Ref<any>>>;
11
+ };
12
+ export declare function onNativeCallClosed(reactTag: number): void;
13
+ export declare function onNativeDimensionsUpdated(reactTag: number, width: number, height: number): void;
14
+ /** Wrapper for the native view
15
+ * meant to stay private and not exposed */
16
+ export declare const RTCViewPipNative: React.NamedExoticComponent<RTCViewPipNativeProps & React.RefAttributes<React.Ref<any>>>;
17
+ export {};
15
18
  //# sourceMappingURL=RTCViewPipNative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTCViewPipNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAMlD;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAaf;AAED;2CAC2C;AAC3C,eAAO,MAAM,gBAAgB;gBAIX,MAAM;kBACJ,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI;wCAkBnE,CAAC"}
1
+ {"version":3,"file":"RTCViewPipNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/RTCViewPipNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;CAChE,CAAC;AAKF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAMlD;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,QAaf;AAED;2CAC2C;AAC3C,eAAO,MAAM,gBAAgB,yFAmB5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AAyBA,wBAAgB,kBAAkB,SAIjC"}
1
+ {"version":3,"file":"registerSDKGlobals.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/registerSDKGlobals.ts"],"names":[],"mappings":"AA4CA,wBAAgB,kBAAkB,SAIjC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.29.0";
1
+ export declare const version = "1.29.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -18,6 +18,9 @@ protocol StreamAVPictureInPictureViewControlling: AnyObject {
18
18
  /// - Important: This should **always** be greater to ``CGSize.zero``. If not, iOS throws
19
19
  /// a cryptic error with content `PGPegasus code:-1003`
20
20
  var preferredContentSize: CGSize { get set }
21
+
22
+ /// Controls whether the rendered video should be mirrored.
23
+ var isMirrored: Bool { get set }
21
24
 
22
25
  /// The layer that renders the incoming frames from WebRTC.
23
26
  var displayLayer: CALayer { get }
@@ -36,6 +39,11 @@ final class StreamAVPictureInPictureVideoCallViewController: AVPictureInPictureV
36
39
  get { contentView.track }
37
40
  set { contentView.track = newValue }
38
41
  }
42
+
43
+ var isMirrored: Bool {
44
+ get { contentView.isMirrored }
45
+ set { contentView.isMirrored = newValue }
46
+ }
39
47
 
40
48
  var displayLayer: CALayer { contentView.displayLayer }
41
49
 
@@ -34,6 +34,13 @@ import Foundation
34
34
 
35
35
  /// A closure called when the picture-in-picture state changes.
36
36
  public var onPiPStateChange: ((Bool) -> Void)?
37
+
38
+ /// Indicates whether the active track should be mirrored.
39
+ public var isMirrored: Bool = false {
40
+ didSet {
41
+ contentViewController?.isMirrored = isMirrored
42
+ }
43
+ }
37
44
 
38
45
  /// A boolean value indicating whether the picture-in-picture session should start automatically when the app enters background.
39
46
  public var canStartPictureInPictureAutomaticallyFromInline: Bool
@@ -80,6 +87,7 @@ import Foundation
80
87
  }()
81
88
  // contentViewController?.preferredContentSize = .init(width: 400, height: 320)
82
89
  self.contentViewController = contentViewController
90
+ self.contentViewController?.isMirrored = isMirrored
83
91
  self.canStartPictureInPictureAutomaticallyFromInline = canStartPictureInPictureAutomaticallyFromInline
84
92
  super.init()
85
93
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  import Combine
6
6
  import Foundation
7
+ import UIKit
7
8
 
8
9
  /// A view that can be used to render an instance of `RTCVideoTrack`
9
10
  final class StreamPictureInPictureVideoRenderer: UIView, RTCVideoRenderer {
@@ -23,6 +24,15 @@ final class StreamPictureInPictureVideoRenderer: UIView, RTCVideoRenderer {
23
24
  /// The layer that renders the track's frames.
24
25
  var displayLayer: CALayer { contentView.layer }
25
26
 
27
+ /// Indicates whether the rendered video should be mirrored.
28
+ var isMirrored: Bool = false {
29
+ didSet {
30
+ contentView.transform = isMirrored
31
+ ? CGAffineTransform(scaleX: -1, y: 1)
32
+ : .identity
33
+ }
34
+ }
35
+
26
36
  /// A policy defining how the Picture in Picture window should be resized in order to better fit
27
37
  /// the rendering frame size.
28
38
  var pictureInPictureWindowSizePolicy: PictureInPictureWindowSizePolicy
@@ -15,6 +15,11 @@ class RTCViewPip: UIView {
15
15
  private var webRtcModule: WebRTCModule?
16
16
 
17
17
  @objc var onPiPChange: RCTBubblingEventBlock?
18
+ @objc public var mirror: Bool = false {
19
+ didSet {
20
+ self.pictureInPictureController?.isMirrored = mirror
21
+ }
22
+ }
18
23
 
19
24
  private func setupNotificationObserver() {
20
25
  NotificationCenter.default.addObserver(
@@ -90,6 +95,7 @@ class RTCViewPip: UIView {
90
95
  setupNotificationObserver()
91
96
  DispatchQueue.main.async {
92
97
  self.pictureInPictureController?.sourceView = self
98
+ self.pictureInPictureController?.isMirrored = self.mirror
93
99
  // Set up PiP state change callback
94
100
  self.pictureInPictureController?.onPiPStateChange = { [weak self] isActive in
95
101
  self?.sendPiPChangeEvent(isActive: isActive)
@@ -11,6 +11,7 @@
11
11
  @interface RCT_EXTERN_MODULE(RTCViewPipManager, RCTViewManager)
12
12
 
13
13
  RCT_EXPORT_VIEW_PROPERTY(streamURL, NSString)
14
+ RCT_EXPORT_VIEW_PROPERTY(mirror, BOOL)
14
15
  RCT_EXPORT_VIEW_PROPERTY(onPiPChange, RCTBubblingEventBlock)
15
16
  RCT_EXTERN_METHOD(onCallClosed:(nonnull NSNumber*) reactTag)
16
17
  RCT_EXTERN_METHOD(setPreferredContentSize:(nonnull NSNumber *)reactTag width:(CGFloat)w height:(CGFloat)h);
@@ -353,6 +353,26 @@ RCT_EXPORT_METHOD(getBatteryState:(RCTPromiseResolveBlock)resolve
353
353
  });
354
354
  }
355
355
 
356
+ RCT_EXPORT_METHOD(checkPermission:(NSString *)permission
357
+ resolver:(RCTPromiseResolveBlock)resolve
358
+ rejecter:(RCTPromiseRejectBlock)reject) {
359
+ NSString *normalizedPermission = [permission lowercaseString];
360
+ AVMediaType mediaType = nil;
361
+
362
+ if ([normalizedPermission isEqualToString:@"camera"]) {
363
+ mediaType = AVMediaTypeVideo;
364
+ } else if ([normalizedPermission isEqualToString:@"microphone"]) {
365
+ mediaType = AVMediaTypeAudio;
366
+ } else {
367
+ NSString *errorMessage = [NSString stringWithFormat:@"Unsupported media device kind: %@", permission];
368
+ reject(@"UNSUPPORTED_MEDIA_DEVICE_KIND", errorMessage, nil);
369
+ return;
370
+ }
371
+
372
+ AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
373
+ resolve(@(status == AVAuthorizationStatusAuthorized));
374
+ }
375
+
356
376
  -(void)batteryStateDidChange:(NSNotification *)notification {
357
377
  UIDeviceBatteryState batteryState = [UIDevice currentDevice].batteryState;
358
378
  BOOL isCharging = (batteryState == UIDeviceBatteryStateCharging ||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.29.0",
3
+ "version": "1.29.1",
4
4
  "description": "Stream Video SDK for React Native",
5
5
  "author": "https://getstream.io",
6
6
  "homepage": "https://getstream.io/video/docs/react-native/",
@@ -50,8 +50,8 @@
50
50
  "!**/.*"
51
51
  ],
52
52
  "dependencies": {
53
- "@stream-io/video-client": "1.42.0",
54
- "@stream-io/video-react-bindings": "1.13.4",
53
+ "@stream-io/video-client": "1.42.1",
54
+ "@stream-io/video-react-bindings": "1.13.5",
55
55
  "intl-pluralrules": "2.0.1",
56
56
  "lodash.merge": "^4.6.2",
57
57
  "react-native-url-polyfill": "^3.0.0",
@@ -49,7 +49,7 @@ export type StreamReactionType = StreamReaction & {
49
49
  };
50
50
 
51
51
  type CallContentComponentProps = ParticipantViewComponentProps &
52
- Pick<CallParticipantsListComponentProps, 'ParticipantView'> & {
52
+ Pick<CallParticipantsListComponentProps, 'ParticipantView' | 'mirror'> & {
53
53
  /**
54
54
  * Component to customize the CallControls component.
55
55
  */
@@ -117,6 +117,7 @@ export const CallContent = ({
117
117
  ParticipantVideoFallback,
118
118
  ParticipantView,
119
119
  VideoRenderer,
120
+ mirror,
120
121
  layout = 'grid',
121
122
  landscape = false,
122
123
  supportedReactions,
@@ -218,6 +219,7 @@ export const CallContent = ({
218
219
  landscape,
219
220
  showLocalParticipant: isRemoteParticipantInFloatingView,
220
221
  ParticipantView,
222
+ mirror,
221
223
  CallParticipantsList,
222
224
  supportedReactions,
223
225
  };
@@ -226,6 +228,7 @@ export const CallContent = ({
226
228
  ...participantViewProps,
227
229
  landscape,
228
230
  ParticipantView,
231
+ mirror,
229
232
  CallParticipantsList,
230
233
  ScreenShareOverlay,
231
234
  supportedReactions,
@@ -240,6 +243,7 @@ export const CallContent = ({
240
243
  {!disablePictureInPicture && (
241
244
  <RTCViewPipIOS
242
245
  includeLocalParticipantVideo={iOSPiPIncludeLocalParticipantVideo}
246
+ mirror={mirror}
243
247
  />
244
248
  )}
245
249
  <View style={[styles.container, landscapeStyles, callContent.container]}>
@@ -260,6 +264,7 @@ export const CallContent = ({
260
264
  onPressHandler={handleFloatingViewParticipantSwitch}
261
265
  supportedReactions={supportedReactions}
262
266
  objectFit="cover"
267
+ mirror={mirror}
263
268
  {...participantViewProps}
264
269
  />
265
270
  )}
@@ -22,6 +22,10 @@ import { isInPiPMode$ } from '../../../utils/internal/rxSubjects';
22
22
 
23
23
  type Props = {
24
24
  includeLocalParticipantVideo?: boolean;
25
+ /**
26
+ * Optional video mirroring override.
27
+ */
28
+ mirror?: boolean;
25
29
  /**
26
30
  * Callback that is called when the PiP mode state changes.
27
31
  * @param active - true when PiP started, false when PiP stopped
@@ -30,12 +34,17 @@ type Props = {
30
34
  };
31
35
 
32
36
  export const RTCViewPipIOS = React.memo((props: Props) => {
33
- const { includeLocalParticipantVideo, onPiPChange } = props;
37
+ const {
38
+ includeLocalParticipantVideo,
39
+ mirror: mirrorOverride,
40
+ onPiPChange,
41
+ } = props;
34
42
  const call = useCall();
35
- const { useParticipants } = useCallStateHooks();
43
+ const { useParticipants, useCameraState } = useCallStateHooks();
36
44
  const _allParticipants = useParticipants({
37
45
  sortBy: speakerLayoutSortPreset,
38
46
  });
47
+ const { direction } = useCameraState();
39
48
  const allParticipants = useDebouncedValue(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
40
49
 
41
50
  const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(
@@ -109,6 +118,12 @@ export const RTCViewPipIOS = React.memo((props: Props) => {
109
118
  ? screenShareStream
110
119
  : videoStream) as unknown as MediaStream | undefined;
111
120
 
121
+ const mirror = isScreenSharing
122
+ ? false
123
+ : mirrorOverride !== undefined
124
+ ? mirrorOverride
125
+ : !!participantInSpotlight?.isLocalParticipant && direction === 'front';
126
+
112
127
  const streamURL = useMemo(() => {
113
128
  if (!videoStreamToRender) {
114
129
  return undefined;
@@ -125,6 +140,7 @@ export const RTCViewPipIOS = React.memo((props: Props) => {
125
140
  <>
126
141
  <RTCViewPipNative
127
142
  streamURL={streamURL}
143
+ mirror={mirror}
128
144
  ref={nativeRef}
129
145
  onPiPChange={handlePiPChange}
130
146
  />
@@ -16,6 +16,7 @@ export type PiPChangeEvent = {
16
16
 
17
17
  type RTCViewPipNativeProps = {
18
18
  streamURL?: string;
19
+ mirror?: boolean;
19
20
  onPiPChange?: (event: { nativeEvent: PiPChangeEvent }) => void;
20
21
  };
21
22
 
@@ -51,13 +52,7 @@ export function onNativeDimensionsUpdated(
51
52
  /** Wrapper for the native view
52
53
  * meant to stay private and not exposed */
53
54
  export const RTCViewPipNative = React.memo(
54
- React.forwardRef<
55
- React.Ref<any>,
56
- {
57
- streamURL?: string;
58
- onPiPChange?: (event: { nativeEvent: PiPChangeEvent }) => void;
59
- }
60
- >((props, ref) => {
55
+ React.forwardRef<React.Ref<any>, RTCViewPipNativeProps>((props, ref) => {
61
56
  if (Platform.OS !== 'ios') return null;
62
57
 
63
58
  return (
@@ -67,6 +62,8 @@ export const RTCViewPipNative = React.memo(
67
62
  // eslint-disable-next-line react/prop-types
68
63
  streamURL={props.streamURL}
69
64
  // eslint-disable-next-line react/prop-types
65
+ mirror={props.mirror}
66
+ // eslint-disable-next-line react/prop-types
70
67
  onPiPChange={props.onPiPChange}
71
68
  // @ts-expect-error - types issue
72
69
  ref={ref}
@@ -1,7 +1,10 @@
1
- import { StreamRNVideoSDKGlobals } from '@stream-io/video-client';
2
- import { NativeModules } from 'react-native';
1
+ import type { StreamRNVideoSDKGlobals } from '@stream-io/video-client';
2
+ import { NativeModules, PermissionsAndroid, Platform } from 'react-native';
3
3
 
4
4
  const StreamInCallManagerNativeModule = NativeModules.StreamInCallManager;
5
+ const StreamVideoReactNativeModule = NativeModules.StreamVideoReactNative as {
6
+ checkPermission: StreamRNVideoSDKGlobals['permissions']['check'] | undefined;
7
+ };
5
8
 
6
9
  const streamRNVideoSDKGlobals: StreamRNVideoSDKGlobals = {
7
10
  callManager: {
@@ -18,6 +21,22 @@ const streamRNVideoSDKGlobals: StreamRNVideoSDKGlobals = {
18
21
  StreamInCallManagerNativeModule.stop();
19
22
  },
20
23
  },
24
+ permissions: {
25
+ check: async (permission) => {
26
+ if (Platform.OS === 'android') {
27
+ const nativeAndroidPermission =
28
+ permission === 'camera'
29
+ ? PermissionsAndroid.PERMISSIONS.CAMERA
30
+ : PermissionsAndroid.PERMISSIONS.RECORD_AUDIO;
31
+ return PermissionsAndroid.check(nativeAndroidPermission);
32
+ }
33
+
34
+ // use our own service on iOS
35
+ return Boolean(
36
+ await StreamVideoReactNativeModule.checkPermission?.(permission),
37
+ );
38
+ },
39
+ },
21
40
  };
22
41
 
23
42
  // Note: The global type declaration for `streamRNVideoSDK` is defined in
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.29.0';
1
+ export const version = '1.29.1';