@stream-io/video-react-native-sdk 1.1.3 → 1.1.5

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 CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.1.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.1.4...@stream-io/video-react-native-sdk-1.1.5) (2024-10-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **react-native:** set objectFit based on actual video track dimensions ([#1520](https://github.com/GetStream/stream-video-js/issues/1520)) ([44ef7d2](https://github.com/GetStream/stream-video-js/commit/44ef7d2e69a910be45b2d3a7643c3f58e0f29803))
11
+
12
+ ## [1.1.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.1.3...@stream-io/video-react-native-sdk-1.1.4) (2024-10-10)
13
+
14
+ ### Dependency Updates
15
+
16
+ * `@stream-io/video-client` updated to version `1.8.3`
17
+ * `@stream-io/video-react-bindings` updated to version `1.1.3`
5
18
  ## [1.1.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.1.2...@stream-io/video-react-native-sdk-1.1.3) (2024-10-10)
6
19
 
7
20
  ### Dependency Updates
@@ -11,6 +11,7 @@ var _videoClient = require("@stream-io/video-client");
11
11
  var _videoReactBindings = require("@stream-io/video-react-bindings");
12
12
  var _ParticipantVideoFallback = require("./ParticipantVideoFallback");
13
13
  var _ThemeContext = require("../../../contexts/ThemeContext");
14
+ var _useTrackDimensions = require("../../../hooks/useTrackDimensions");
14
15
  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); }
15
16
  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; }
16
17
  const DEFAULT_VIEWPORT_VISIBILITY_STATE = {
@@ -55,6 +56,7 @@ const VideoRenderer = ({
55
56
  const {
56
57
  direction
57
58
  } = useCameraState();
59
+ const videoDimensions = (0, _useTrackDimensions.useTrackDimensions)(participant, trackType);
58
60
  const {
59
61
  isLocalParticipant,
60
62
  sessionId,
@@ -203,7 +205,7 @@ const VideoRenderer = ({
203
205
  style: [styles.videoStream, videoRenderer.videoStream],
204
206
  streamURL: videoStreamToRender.toURL(),
205
207
  mirror: mirror,
206
- objectFit: objectFit ?? (isScreenSharing ? 'contain' : 'cover'),
208
+ objectFit: objectFit ?? (videoDimensions.width > videoDimensions.height ? 'contain' : 'cover'),
207
209
  zOrder: videoZOrder
208
210
  }) : ParticipantVideoFallback && /*#__PURE__*/_react.default.createElement(ParticipantVideoFallback, {
209
211
  participant: participant
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebrtc","_videoClient","_videoReactBindings","_ParticipantVideoFallback","_ThemeContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","VisibilityState","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","ParticipantVideoFallback","DefaultParticipantVideoFallback","objectFit","videoZOrder","theme","videoRenderer","useTheme","useCall","useCallCallingState","useCameraState","useIncomingVideoSettings","useCallStateHooks","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","useRef","subscribedVideoLayoutRef","direction","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasScreenShare","hasVideo","hasJoinedCall","CallingState","JOINED","videoStreamToRender","canShowVideo","mirror","useEffect","VISIBLE","state","updateParticipant","p","INVISIBLE","current","undefined","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","width","Math","trunc","nativeEvent","layout","height","createElement","View","style","styles","container","RTCView","streamURL","toURL","zOrder","exports","StyleSheet","create","absoluteFillObject"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/VideoRenderer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebrtc","_videoClient","_videoReactBindings","_ParticipantVideoFallback","_ThemeContext","_useTrackDimensions","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","VisibilityState","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","ParticipantVideoFallback","DefaultParticipantVideoFallback","objectFit","videoZOrder","theme","videoRenderer","useTheme","useCall","useCallCallingState","useCameraState","useIncomingVideoSettings","useCallStateHooks","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","useRef","subscribedVideoLayoutRef","direction","videoDimensions","useTrackDimensions","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasScreenShare","hasVideo","hasJoinedCall","CallingState","JOINED","videoStreamToRender","canShowVideo","mirror","useEffect","VISIBLE","state","updateParticipant","p","INVISIBLE","current","undefined","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","width","Math","trunc","nativeEvent","layout","height","createElement","View","style","styles","container","RTCView","streamURL","toURL","zOrder","exports","StyleSheet","create","absoluteFillObject"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/VideoRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -102,4 +102,15 @@ Object.keys(_useScreenShareButton).forEach(function (key) {
102
102
  }
103
103
  });
104
104
  });
105
+ var _useTrackDimensions = require("./useTrackDimensions");
106
+ Object.keys(_useTrackDimensions).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _useTrackDimensions[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _useTrackDimensions[key];
113
+ }
114
+ });
115
+ });
105
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useApplyDefaultMediaStreamSettings","_useScreenShareButton"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useApplyDefaultMediaStreamSettings","_useScreenShareButton","_useTrackDimensions"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTrackDimensions = useTrackDimensions;
7
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
+ var _react = require("react");
9
+ /**
10
+ * This is a utility hook to get the dimensions of the video track of the participant.
11
+ * Note: the `tracktype` is used only for local participants.
12
+ * `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
13
+ */
14
+ function useTrackDimensions(participant, trackType) {
15
+ const [trackDimensions, setTrackDimensions] = (0, _react.useState)({
16
+ width: 0,
17
+ height: 0
18
+ });
19
+ const call = (0, _videoReactBindings.useCall)();
20
+ const {
21
+ isLocalParticipant,
22
+ sessionId,
23
+ videoStream,
24
+ screenShareStream
25
+ } = participant;
26
+
27
+ // for local participant we can get from track.getSettings()
28
+ (0, _react.useEffect)(() => {
29
+ if (call && isLocalParticipant) {
30
+ const stream = trackType === 'screenShareTrack' ? screenShareStream : videoStream;
31
+ if (!stream) return;
32
+ const [track] = stream?.getVideoTracks();
33
+ if (!track) return;
34
+ const {
35
+ width = 0,
36
+ height = 0
37
+ } = track.getSettings();
38
+ setTrackDimensions(prev => {
39
+ if (prev.width !== width || prev.height !== height) {
40
+ return {
41
+ width,
42
+ height
43
+ };
44
+ }
45
+ return prev;
46
+ });
47
+ }
48
+ }, [call, isLocalParticipant, screenShareStream, trackType, videoStream]);
49
+
50
+ // start reporting stats for the remote participant
51
+ (0, _react.useEffect)(() => {
52
+ if (!call) return;
53
+ if (isLocalParticipant) return;
54
+ call.startReportingStatsFor(sessionId);
55
+ return () => {
56
+ call.stopReportingStatsFor(sessionId);
57
+ };
58
+ }, [call, sessionId, isLocalParticipant]);
59
+
60
+ // for remote participants track.getSettings() is not supported it returns an empty object
61
+ // so we need to rely on call stats to get the dimensions
62
+ (0, _react.useEffect)(() => {
63
+ if (!call) return;
64
+ const sub = call.state.callStatsReport$.subscribe(report => {
65
+ if (!report) return;
66
+ const reportForTracks = report.participants[sessionId];
67
+ const trackStats = reportForTracks?.flatMap(r => r.streams).filter(track => track.kind === 'video');
68
+ if (!trackStats) return;
69
+ const stat = trackStats[0];
70
+ if (stat) {
71
+ const {
72
+ frameWidth = 0,
73
+ frameHeight = 0
74
+ } = stat;
75
+ setTrackDimensions(prev => {
76
+ if (prev.width !== frameWidth || prev.height !== frameHeight) {
77
+ return {
78
+ width: frameWidth,
79
+ height: frameHeight
80
+ };
81
+ }
82
+ return prev;
83
+ });
84
+ }
85
+ });
86
+ return () => sub.unsubscribe();
87
+ }, [call, sessionId]);
88
+ return trackDimensions;
89
+ }
90
+ //# sourceMappingURL=useTrackDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_videoReactBindings","require","_react","useTrackDimensions","participant","trackType","trackDimensions","setTrackDimensions","useState","width","height","call","useCall","isLocalParticipant","sessionId","videoStream","screenShareStream","useEffect","stream","track","getVideoTracks","getSettings","prev","startReportingStatsFor","stopReportingStatsFor","sub","state","callStatsReport$","subscribe","report","reportForTracks","participants","trackStats","flatMap","r","streams","filter","kind","stat","frameWidth","frameHeight","unsubscribe"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":"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","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.1.3';
7
+ const version = exports.version = '1.1.5';
8
8
  //# sourceMappingURL=version.js.map
@@ -5,6 +5,7 @@ import { CallingState, hasScreenShare, hasVideo, VisibilityState } from '@stream
5
5
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
6
6
  import { ParticipantVideoFallback as DefaultParticipantVideoFallback } from './ParticipantVideoFallback';
7
7
  import { useTheme } from '../../../contexts/ThemeContext';
8
+ import { useTrackDimensions } from '../../../hooks/useTrackDimensions';
8
9
  const DEFAULT_VIEWPORT_VISIBILITY_STATE = {
9
10
  videoTrack: VisibilityState.UNKNOWN,
10
11
  screenShareTrack: VisibilityState.UNKNOWN
@@ -47,6 +48,7 @@ export const VideoRenderer = ({
47
48
  const {
48
49
  direction
49
50
  } = useCameraState();
51
+ const videoDimensions = useTrackDimensions(participant, trackType);
50
52
  const {
51
53
  isLocalParticipant,
52
54
  sessionId,
@@ -195,7 +197,7 @@ export const VideoRenderer = ({
195
197
  style: [styles.videoStream, videoRenderer.videoStream],
196
198
  streamURL: videoStreamToRender.toURL(),
197
199
  mirror: mirror,
198
- objectFit: objectFit ?? (isScreenSharing ? 'contain' : 'cover'),
200
+ objectFit: objectFit ?? (videoDimensions.width > videoDimensions.height ? 'contain' : 'cover'),
199
201
  zOrder: videoZOrder
200
202
  }) : ParticipantVideoFallback && /*#__PURE__*/React.createElement(ParticipantVideoFallback, {
201
203
  participant: participant
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","StyleSheet","View","RTCView","CallingState","hasScreenShare","hasVideo","VisibilityState","useCall","useCallStateHooks","ParticipantVideoFallback","DefaultParticipantVideoFallback","useTheme","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","objectFit","videoZOrder","theme","videoRenderer","call","useCallCallingState","useCameraState","useIncomingVideoSettings","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","subscribedVideoLayoutRef","direction","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasJoinedCall","JOINED","videoStreamToRender","canShowVideo","mirror","VISIBLE","state","updateParticipant","p","INVISIBLE","current","undefined","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","width","Math","trunc","nativeEvent","layout","height","createElement","style","styles","container","streamURL","toURL","zOrder","create","absoluteFillObject"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/VideoRenderer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","StyleSheet","View","RTCView","CallingState","hasScreenShare","hasVideo","VisibilityState","useCall","useCallStateHooks","ParticipantVideoFallback","DefaultParticipantVideoFallback","useTheme","useTrackDimensions","DEFAULT_VIEWPORT_VISIBILITY_STATE","videoTrack","UNKNOWN","screenShareTrack","VideoRenderer","trackType","participant","isVisible","objectFit","videoZOrder","theme","videoRenderer","call","useCallCallingState","useCameraState","useIncomingVideoSettings","isParticipantVideoEnabled","callingState","pendingVideoLayoutRef","subscribedVideoLayoutRef","direction","videoDimensions","isLocalParticipant","sessionId","viewportVisibilityState","videoStream","screenShareStream","isScreenSharing","isPublishingVideoTrack","hasJoinedCall","JOINED","videoStreamToRender","canShowVideo","mirror","VISIBLE","state","updateParticipant","p","INVISIBLE","current","undefined","updateIsNeeded","dimension","updateParticipantTracks","dynascaleManager","applyTrackSubscriptions","onLayout","event","width","Math","trunc","nativeEvent","layout","height","createElement","style","styles","container","streamURL","toURL","zOrder","create","absoluteFillObject"],"sourceRoot":"../../../../../src","sources":["components/Participant/ParticipantView/VideoRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,4 +7,5 @@ export * from './useIsInPiPMode';
7
7
  export * from './useAutoEnterPiPEffect';
8
8
  export * from './useApplyDefaultMediaStreamSettings';
9
9
  export * from './useScreenShareButton';
10
+ export * from './useTrackDimensions';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,sCAAsC;AACpD,cAAc,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,sCAAsC;AACpD,cAAc,wBAAwB;AACtC,cAAc,sBAAsB","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ import { useCall } from '@stream-io/video-react-bindings';
2
+ import { useState, useEffect } from 'react';
3
+
4
+ /**
5
+ * This is a utility hook to get the dimensions of the video track of the participant.
6
+ * Note: the `tracktype` is used only for local participants.
7
+ * `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
8
+ */
9
+ export function useTrackDimensions(participant, trackType) {
10
+ const [trackDimensions, setTrackDimensions] = useState({
11
+ width: 0,
12
+ height: 0
13
+ });
14
+ const call = useCall();
15
+ const {
16
+ isLocalParticipant,
17
+ sessionId,
18
+ videoStream,
19
+ screenShareStream
20
+ } = participant;
21
+
22
+ // for local participant we can get from track.getSettings()
23
+ useEffect(() => {
24
+ if (call && isLocalParticipant) {
25
+ const stream = trackType === 'screenShareTrack' ? screenShareStream : videoStream;
26
+ if (!stream) return;
27
+ const [track] = stream?.getVideoTracks();
28
+ if (!track) return;
29
+ const {
30
+ width = 0,
31
+ height = 0
32
+ } = track.getSettings();
33
+ setTrackDimensions(prev => {
34
+ if (prev.width !== width || prev.height !== height) {
35
+ return {
36
+ width,
37
+ height
38
+ };
39
+ }
40
+ return prev;
41
+ });
42
+ }
43
+ }, [call, isLocalParticipant, screenShareStream, trackType, videoStream]);
44
+
45
+ // start reporting stats for the remote participant
46
+ useEffect(() => {
47
+ if (!call) return;
48
+ if (isLocalParticipant) return;
49
+ call.startReportingStatsFor(sessionId);
50
+ return () => {
51
+ call.stopReportingStatsFor(sessionId);
52
+ };
53
+ }, [call, sessionId, isLocalParticipant]);
54
+
55
+ // for remote participants track.getSettings() is not supported it returns an empty object
56
+ // so we need to rely on call stats to get the dimensions
57
+ useEffect(() => {
58
+ if (!call) return;
59
+ const sub = call.state.callStatsReport$.subscribe(report => {
60
+ if (!report) return;
61
+ const reportForTracks = report.participants[sessionId];
62
+ const trackStats = reportForTracks?.flatMap(r => r.streams).filter(track => track.kind === 'video');
63
+ if (!trackStats) return;
64
+ const stat = trackStats[0];
65
+ if (stat) {
66
+ const {
67
+ frameWidth = 0,
68
+ frameHeight = 0
69
+ } = stat;
70
+ setTrackDimensions(prev => {
71
+ if (prev.width !== frameWidth || prev.height !== frameHeight) {
72
+ return {
73
+ width: frameWidth,
74
+ height: frameHeight
75
+ };
76
+ }
77
+ return prev;
78
+ });
79
+ }
80
+ });
81
+ return () => sub.unsubscribe();
82
+ }, [call, sessionId]);
83
+ return trackDimensions;
84
+ }
85
+ //# sourceMappingURL=useTrackDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCall","useState","useEffect","useTrackDimensions","participant","trackType","trackDimensions","setTrackDimensions","width","height","call","isLocalParticipant","sessionId","videoStream","screenShareStream","stream","track","getVideoTracks","getSettings","prev","startReportingStatsFor","stopReportingStatsFor","sub","state","callStatsReport$","subscribe","report","reportForTracks","participants","trackStats","flatMap","r","streams","filter","kind","stat","frameWidth","frameHeight","unsubscribe"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.1.3';
1
+ export const version = '1.1.5';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/VideoRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAqBzD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,oBAAoB,EAClB,0BAA0B,GAC1B,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,aAAa,CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,6FAOvB,kBAAkB,sBA8NpB,CAAC"}
1
+ {"version":3,"file":"VideoRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Participant/ParticipantView/VideoRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAsBzD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,oBAAoB,EAClB,0BAA0B,GAC1B,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,aAAa,CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,6FAOvB,kBAAkB,sBAoOpB,CAAC"}
@@ -7,4 +7,5 @@ export * from './useIsInPiPMode';
7
7
  export * from './useAutoEnterPiPEffect';
8
8
  export * from './useApplyDefaultMediaStreamSettings';
9
9
  export * from './useScreenShareButton';
10
+ export * from './useTrackDimensions';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { StreamVideoParticipant, VideoTrackType } from '@stream-io/video-client';
2
+ /**
3
+ * This is a utility hook to get the dimensions of the video track of the participant.
4
+ * Note: the `tracktype` is used only for local participants.
5
+ * `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
6
+ */
7
+ export declare function useTrackDimensions(participant: StreamVideoParticipant, trackType: VideoTrackType): {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ //# sourceMappingURL=useTrackDimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTrackDimensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrackDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,EACnC,SAAS,EAAE,cAAc;;;EAgE1B"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.1.3";
1
+ export declare const version = "1.1.5";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -46,8 +46,8 @@
46
46
  "!**/.*"
47
47
  ],
48
48
  "dependencies": {
49
- "@stream-io/video-client": "1.8.2",
50
- "@stream-io/video-react-bindings": "1.1.2",
49
+ "@stream-io/video-client": "1.8.3",
50
+ "@stream-io/video-react-bindings": "1.1.3",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -14,6 +14,7 @@ import {
14
14
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
15
15
  import { ParticipantVideoFallback as DefaultParticipantVideoFallback } from './ParticipantVideoFallback';
16
16
  import { useTheme } from '../../../contexts/ThemeContext';
17
+ import { useTrackDimensions } from '../../../hooks/useTrackDimensions';
17
18
 
18
19
  const DEFAULT_VIEWPORT_VISIBILITY_STATE: Record<
19
20
  VideoTrackType,
@@ -60,6 +61,7 @@ export const VideoRenderer = ({
60
61
  const pendingVideoLayoutRef = useRef<SfuModels.VideoDimension>();
61
62
  const subscribedVideoLayoutRef = useRef<SfuModels.VideoDimension>();
62
63
  const { direction } = useCameraState();
64
+ const videoDimensions = useTrackDimensions(participant, trackType);
63
65
  const {
64
66
  isLocalParticipant,
65
67
  sessionId,
@@ -260,7 +262,12 @@ export const VideoRenderer = ({
260
262
  style={[styles.videoStream, videoRenderer.videoStream]}
261
263
  streamURL={videoStreamToRender.toURL()}
262
264
  mirror={mirror}
263
- objectFit={objectFit ?? (isScreenSharing ? 'contain' : 'cover')}
265
+ objectFit={
266
+ objectFit ??
267
+ (videoDimensions.width > videoDimensions.height
268
+ ? 'contain'
269
+ : 'cover')
270
+ }
264
271
  zOrder={videoZOrder}
265
272
  />
266
273
  ) : (
@@ -7,3 +7,4 @@ export * from './useIsInPiPMode';
7
7
  export * from './useAutoEnterPiPEffect';
8
8
  export * from './useApplyDefaultMediaStreamSettings';
9
9
  export * from './useScreenShareButton';
10
+ export * from './useTrackDimensions';
@@ -0,0 +1,79 @@
1
+ import {
2
+ StreamVideoParticipant,
3
+ VideoTrackType,
4
+ } from '@stream-io/video-client';
5
+ import { useCall } from '@stream-io/video-react-bindings';
6
+ import { useState, useEffect } from 'react';
7
+
8
+ /**
9
+ * This is a utility hook to get the dimensions of the video track of the participant.
10
+ * Note: the `tracktype` is used only for local participants.
11
+ * `tracktype` should be 'videoTrack' for video track and 'screenShareTrack' for screen share track.
12
+ */
13
+ export function useTrackDimensions(
14
+ participant: StreamVideoParticipant,
15
+ trackType: VideoTrackType
16
+ ) {
17
+ const [trackDimensions, setTrackDimensions] = useState({
18
+ width: 0,
19
+ height: 0,
20
+ });
21
+ const call = useCall();
22
+ const { isLocalParticipant, sessionId, videoStream, screenShareStream } =
23
+ participant;
24
+
25
+ // for local participant we can get from track.getSettings()
26
+ useEffect(() => {
27
+ if (call && isLocalParticipant) {
28
+ const stream =
29
+ trackType === 'screenShareTrack' ? screenShareStream : videoStream;
30
+ if (!stream) return;
31
+ const [track] = stream?.getVideoTracks();
32
+ if (!track) return;
33
+ const { width = 0, height = 0 } = track.getSettings();
34
+ setTrackDimensions((prev) => {
35
+ if (prev.width !== width || prev.height !== height) {
36
+ return { width, height };
37
+ }
38
+ return prev;
39
+ });
40
+ }
41
+ }, [call, isLocalParticipant, screenShareStream, trackType, videoStream]);
42
+
43
+ // start reporting stats for the remote participant
44
+ useEffect(() => {
45
+ if (!call) return;
46
+ if (isLocalParticipant) return;
47
+ call.startReportingStatsFor(sessionId);
48
+ return () => {
49
+ call.stopReportingStatsFor(sessionId);
50
+ };
51
+ }, [call, sessionId, isLocalParticipant]);
52
+
53
+ // for remote participants track.getSettings() is not supported it returns an empty object
54
+ // so we need to rely on call stats to get the dimensions
55
+ useEffect(() => {
56
+ if (!call) return;
57
+ const sub = call.state.callStatsReport$.subscribe((report) => {
58
+ if (!report) return;
59
+ const reportForTracks = report.participants[sessionId];
60
+ const trackStats = reportForTracks
61
+ ?.flatMap((r) => r.streams)
62
+ .filter((track) => track.kind === 'video');
63
+ if (!trackStats) return;
64
+ const stat = trackStats[0];
65
+ if (stat) {
66
+ const { frameWidth = 0, frameHeight = 0 } = stat;
67
+ setTrackDimensions((prev) => {
68
+ if (prev.width !== frameWidth || prev.height !== frameHeight) {
69
+ return { width: frameWidth, height: frameHeight };
70
+ }
71
+ return prev;
72
+ });
73
+ }
74
+ });
75
+ return () => sub.unsubscribe();
76
+ }, [call, sessionId]);
77
+
78
+ return trackDimensions;
79
+ }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.1.3';
1
+ export const version = '1.1.5';