@stream-io/video-react-native-sdk 0.2.14 → 0.3.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 (33) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNative.kt +2 -8
  4. package/dist/commonjs/components/Call/Lobby/Lobby.js +3 -3
  5. package/dist/commonjs/components/Call/Lobby/Lobby.js.map +1 -1
  6. package/dist/commonjs/providers/MediaStreamManagement.js +45 -13
  7. package/dist/commonjs/providers/MediaStreamManagement.js.map +1 -1
  8. package/dist/commonjs/version.js +1 -1
  9. package/dist/commonjs/version.js.map +1 -1
  10. package/dist/module/components/Call/Lobby/Lobby.js +4 -4
  11. package/dist/module/components/Call/Lobby/Lobby.js.map +1 -1
  12. package/dist/module/providers/MediaStreamManagement.js +46 -14
  13. package/dist/module/providers/MediaStreamManagement.js.map +1 -1
  14. package/dist/module/version.js +1 -1
  15. package/dist/module/version.js.map +1 -1
  16. package/dist/typescript/components/Call/Lobby/Lobby.d.ts.map +1 -1
  17. package/dist/typescript/providers/MediaStreamManagement.d.ts.map +1 -1
  18. package/dist/typescript/version.d.ts +1 -1
  19. package/dist/typescript/version.d.ts.map +1 -1
  20. package/expo-config-plugin/dist/index.js +0 -4
  21. package/expo-config-plugin/dist/withMainActivity.js +2 -1
  22. package/ios/StreamVideoReactNative.h +2 -2
  23. package/ios/StreamVideoReactNative.m +4 -4
  24. package/package.json +5 -5
  25. package/src/components/Call/Lobby/Lobby.tsx +2 -6
  26. package/src/providers/MediaStreamManagement.tsx +56 -13
  27. package/src/version.ts +1 -1
  28. package/android/src/main/java/com/streamvideo/reactnative/video/SimulcastVideoEncoderFactoryWrapper.kt +0 -249
  29. package/android/src/main/java/com/streamvideo/reactnative/video/WrappedVideoDecoderFactoryProxy.kt +0 -19
  30. package/expo-config-plugin/dist/withMainApplication.d.ts +0 -3
  31. package/expo-config-plugin/dist/withMainApplication.js +0 -25
  32. package/expo-config-plugin/dist/withStreamVideoReactNativeSDKAppDelegate.d.ts +0 -3
  33. package/expo-config-plugin/dist/withStreamVideoReactNativeSDKAppDelegate.js +0 -22
package/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ### [0.3.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.3.0...@stream-io/video-react-native-sdk-0.3.1) (2023-11-30)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **react-native:** do not trigger initial device setting after join ([204c303](https://github.com/GetStream/stream-video-js/commit/204c303353c536c44b77350bb49c117f21e093c5))
11
+
12
+ ## [0.3.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.2.14...@stream-io/video-react-native-sdk-0.3.0) (2023-11-29)
13
+
14
+ ### Dependency Updates
15
+
16
+ * `@stream-io/video-client` updated to version `0.5.0`
17
+ * `@stream-io/video-react-bindings` updated to version `0.3.11`
18
+
19
+ ### ⚠ BREAKING CHANGES
20
+
21
+ * **react-native:** move to webrtc 118 (#1197)
22
+
23
+ ### Features
24
+
25
+ * **react-native:** move to webrtc 118 ([#1197](https://github.com/GetStream/stream-video-js/issues/1197)) ([8cdbe11](https://github.com/GetStream/stream-video-js/commit/8cdbe11de069fcb6eae5643f5cef5c9612f6c805))
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **react-native:** remove unused import ([388d5fc](https://github.com/GetStream/stream-video-js/commit/388d5fc41479190c34b1f5042303157b96149381))
31
+
5
32
  ### [0.2.14](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.2.13...@stream-io/video-react-native-sdk-0.2.14) (2023-11-27)
6
33
 
7
34
  ### Dependency Updates
@@ -129,7 +129,7 @@ dependencies {
129
129
  // noinspection GradleDynamicVersion
130
130
  api 'com.facebook.react:react-native:+'
131
131
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
132
- api 'io.github.webrtc-sdk:android:104.5112.10'
132
+ api 'org.jitsi:webrtc:118.+'
133
133
  implementation project(':stream-io_react-native-webrtc')
134
134
  implementation "androidx.annotation:annotation:1.4.0"
135
135
  }
@@ -1,8 +1,4 @@
1
1
  package com.streamvideo.reactnative
2
-
3
- import com.streamvideo.reactnative.video.SimulcastVideoEncoderFactoryWrapper
4
- import com.streamvideo.reactnative.video.WrappedVideoDecoderFactoryProxy
5
- import com.oney.WebRTCModule.WebRTCModuleOptions
6
2
  import kotlin.properties.Delegates
7
3
 
8
4
 
@@ -20,11 +16,9 @@ object StreamVideoReactNative {
20
16
  }
21
17
  }
22
18
 
23
- @JvmStatic
19
+ @JvmStatic @Deprecated("No need to use setup() anymore")
24
20
  fun setup() {
25
- val options = WebRTCModuleOptions.getInstance()
26
- options.videoEncoderFactory = SimulcastVideoEncoderFactoryWrapper(null, true, true)
27
- options.videoDecoderFactory = WrappedVideoDecoderFactoryProxy()
21
+ // do nothing
28
22
  }
29
23
 
30
24
  @JvmStatic
@@ -44,13 +44,13 @@ const Lobby = _ref => {
44
44
  useCameraState
45
45
  } = (0, _videoReactBindings.useCallStateHooks)();
46
46
  const {
47
- status: cameraStatus
47
+ status: cameraStatus,
48
+ mediaStream
48
49
  } = useCameraState();
49
- const call = (0, _videoReactBindings.useCall)();
50
50
  const {
51
51
  t
52
52
  } = (0, _videoReactBindings.useI18n)();
53
- const localVideoStream = call === null || call === void 0 ? void 0 : call.camera.state.mediaStream;
53
+ const localVideoStream = mediaStream;
54
54
  (0, _useCallMediaStreamCleanup.useCallMediaStreamCleanup)();
55
55
  const connectedUserAsParticipant = {
56
56
  userId: connectedUser === null || connectedUser === void 0 ? void 0 : connectedUser.id,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_icons","_videoReactBindings","_Avatar","_constants","_reactNativeWebrtc","_LobbyControls","_JoinCallButton","_ThemeContext","_useCallMediaStreamCleanup","_LobbyFooter","obj","__esModule","default","Lobby","_ref","onJoinCallHandler","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","landscape","LobbyFooter","DefaultLobbyFooter","theme","colors","lobby","typefaces","useTheme","connectedUser","useConnectedUser","useCameraState","useCallStateHooks","status","cameraStatus","call","useCall","t","useI18n","localVideoStream","camera","state","mediaStream","useCallMediaStreamCleanup","connectedUserAsParticipant","userId","id","image","name","landscapeStyles","flexDirection","createElement","View","style","styles","container","backgroundColor","static_grey","topContainer","Text","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","RTCView","mirror","streamURL","toURL","objectFit","StyleSheet","absoluteFillObject","avatarContainer","Avatar","participant","ParticipantStatus","bottomContainer","exports","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","MicOff","error","create","flex","justifyContent","paddingHorizontal","textAlign","LOBBY_VIDEO_VIEW_HEIGHT","borderRadius","alignItems","overflow","padding","alignSelf","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_icons","_videoReactBindings","_Avatar","_constants","_reactNativeWebrtc","_LobbyControls","_JoinCallButton","_ThemeContext","_useCallMediaStreamCleanup","_LobbyFooter","obj","__esModule","default","Lobby","_ref","onJoinCallHandler","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","landscape","LobbyFooter","DefaultLobbyFooter","theme","colors","lobby","typefaces","useTheme","connectedUser","useConnectedUser","useCameraState","useCallStateHooks","status","cameraStatus","mediaStream","t","useI18n","localVideoStream","useCallMediaStreamCleanup","connectedUserAsParticipant","userId","id","image","name","landscapeStyles","flexDirection","createElement","View","style","styles","container","backgroundColor","static_grey","topContainer","Text","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","RTCView","mirror","streamURL","toURL","objectFit","StyleSheet","absoluteFillObject","avatarContainer","Avatar","participant","ParticipantStatus","bottomContainer","exports","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","MicOff","error","create","flex","justifyContent","paddingHorizontal","textAlign","LOBBY_VIDEO_VIEW_HEIGHT","borderRadius","alignItems","overflow","padding","alignSelf","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
@@ -30,6 +30,34 @@ const MediaStreamManagement = _ref => {
30
30
  const {
31
31
  useCallSettings
32
32
  } = (0, _videoReactBindings.useCallStateHooks)();
33
+ const settings = useCallSettings();
34
+
35
+ // Get the target resolution from the settings and memoize it
36
+ // Memoization is needed to avoid unnecessary useEffect triggers
37
+ const targetResolutionSetting = (0, _react.useMemo)(() => {
38
+ var _settings$video$targe, _settings$video$targe2, _settings$video$targe3;
39
+ if ((settings === null || settings === void 0 || (_settings$video$targe = settings.video.target_resolution) === null || _settings$video$targe === void 0 ? void 0 : _settings$video$targe.width) === undefined || (settings === null || settings === void 0 || (_settings$video$targe2 = settings.video.target_resolution) === null || _settings$video$targe2 === void 0 ? void 0 : _settings$video$targe2.height) === undefined || (settings === null || settings === void 0 || (_settings$video$targe3 = settings.video.target_resolution) === null || _settings$video$targe3 === void 0 ? void 0 : _settings$video$targe3.bitrate) === undefined) {
40
+ return undefined;
41
+ }
42
+ return {
43
+ width: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.width,
44
+ height: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.height,
45
+ bitrate: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.bitrate
46
+ };
47
+ }, [settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.width, settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.height, settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.bitrate]);
48
+
49
+ // Get the target resolution from the default device settings and memoize it
50
+ // Memoization is needed to avoid unnecessary useEffect triggers
51
+ const defaultOnSetting = (0, _react.useMemo)(() => {
52
+ if ((settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on) === undefined || (settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on) === undefined) {
53
+ return undefined;
54
+ } else {
55
+ return {
56
+ mic_default_on: settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on,
57
+ camera_default_on: settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on
58
+ };
59
+ }
60
+ }, [settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on, settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on]);
33
61
 
34
62
  // Resume/Disable video stream tracks when app goes to background/foreground
35
63
  // To save on CPU resources
@@ -59,33 +87,32 @@ const MediaStreamManagement = _ref => {
59
87
  initialAudioEnabled: undefined,
60
88
  initialVideoEnabled: undefined
61
89
  });
62
- const settings = useCallSettings();
63
90
 
64
91
  // Use backend settings to set initial audio/video enabled state
65
92
  // It is applied only if the prop was undefined -- meaning user did not provide any value
66
93
  (0, _react.useEffect)(() => {
67
- if (!settings) {
94
+ if (!defaultOnSetting) {
68
95
  return;
69
96
  }
70
97
  const {
71
- audio,
72
- video
73
- } = settings;
98
+ mic_default_on,
99
+ camera_default_on
100
+ } = defaultOnSetting;
74
101
  setInitialDeviceState(prev => {
75
102
  let initAudio = prev.initialAudioEnabled;
76
103
  if (typeof propInitialAudioEnabled === 'undefined') {
77
- initAudio = audio.mic_default_on;
104
+ initAudio = mic_default_on;
78
105
  }
79
106
  let initVideo = prev.initialVideoEnabled;
80
107
  if (typeof propInitialVideoEnabled === 'undefined') {
81
- initVideo = video.camera_default_on;
108
+ initVideo = camera_default_on;
82
109
  }
83
110
  return {
84
111
  initialAudioEnabled: initAudio,
85
112
  initialVideoEnabled: initVideo
86
113
  };
87
114
  });
88
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
115
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, defaultOnSetting]);
89
116
 
90
117
  // Apply SDK settings to set the initial audio/video enabled state
91
118
  (0, _react.useEffect)(() => {
@@ -114,17 +141,22 @@ const MediaStreamManagement = _ref => {
114
141
  if (initialVideoEnabled === undefined) {
115
142
  return;
116
143
  }
144
+ // we wait until we receive the resolution settings from the backend
145
+ if (!call || !targetResolutionSetting) {
146
+ return;
147
+ }
117
148
  if (initialAudioEnabled) {
118
- call === null || call === void 0 || call.microphone.enable();
149
+ call.microphone.enable();
119
150
  } else {
120
- call === null || call === void 0 || call.microphone.disable();
151
+ call.microphone.disable();
121
152
  }
153
+ call.camera.selectTargetResolution(targetResolutionSetting);
122
154
  if (initialVideoEnabled) {
123
- call === null || call === void 0 || call.camera.enable();
155
+ call.camera.enable();
124
156
  } else {
125
- call === null || call === void 0 || call.camera.disable();
157
+ call.camera.disable();
126
158
  }
127
- }, [call, initialAudioEnabled, initialVideoEnabled]);
159
+ }, [call, initialAudioEnabled, initialVideoEnabled, targetResolutionSetting]);
128
160
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
129
161
  };
130
162
  exports.MediaStreamManagement = MediaStreamManagement;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_hooks","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","useCall","useCallSettings","useCallStateHooks","useAppStateListener","_call$camera","camera","resume","Platform","OS","_NativeModules$Stream","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","setInitialDeviceState","useState","undefined","settings","useEffect","audio","video","prev","initAudio","mic_default_on","initVideo","camera_default_on","microphone","enable","createElement","Fragment","exports"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_videoReactBindings","_hooks","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","useCall","useCallSettings","useCallStateHooks","settings","targetResolutionSetting","useMemo","_settings$video$targe","_settings$video$targe2","_settings$video$targe3","video","target_resolution","width","undefined","height","bitrate","defaultOnSetting","audio","mic_default_on","camera_default_on","useAppStateListener","_call$camera","camera","resume","Platform","OS","_NativeModules$Stream","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","setInitialDeviceState","useState","useEffect","prev","initAudio","initVideo","microphone","enable","selectTargetResolution","createElement","Fragment","exports"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
@@ -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 = '0.2.14';
7
+ const version = exports.version = '0.3.1';
8
8
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,QAAQ"}
1
+ {"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,OAAO"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { StyleSheet, Text, View } from 'react-native';
3
3
  import { MicOff } from '../../../icons';
4
- import { useCall, useCallStateHooks, useConnectedUser, useI18n } from '@stream-io/video-react-bindings';
4
+ import { useCallStateHooks, useConnectedUser, useI18n } from '@stream-io/video-react-bindings';
5
5
  import { Avatar } from '../../utility/Avatar';
6
6
  import { LOBBY_VIDEO_VIEW_HEIGHT } from '../../../constants';
7
7
  import { RTCView } from '@stream-io/react-native-webrtc';
@@ -38,13 +38,13 @@ export const Lobby = _ref => {
38
38
  useCameraState
39
39
  } = useCallStateHooks();
40
40
  const {
41
- status: cameraStatus
41
+ status: cameraStatus,
42
+ mediaStream
42
43
  } = useCameraState();
43
- const call = useCall();
44
44
  const {
45
45
  t
46
46
  } = useI18n();
47
- const localVideoStream = call === null || call === void 0 ? void 0 : call.camera.state.mediaStream;
47
+ const localVideoStream = mediaStream;
48
48
  useCallMediaStreamCleanup();
49
49
  const connectedUserAsParticipant = {
50
50
  userId: connectedUser === null || connectedUser === void 0 ? void 0 : connectedUser.id,
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","Text","View","MicOff","useCall","useCallStateHooks","useConnectedUser","useI18n","Avatar","LOBBY_VIDEO_VIEW_HEIGHT","RTCView","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","useTheme","useCallMediaStreamCleanup","LobbyFooter","DefaultLobbyFooter","Lobby","_ref","onJoinCallHandler","landscape","theme","colors","lobby","typefaces","connectedUser","useCameraState","status","cameraStatus","call","t","localVideoStream","camera","state","mediaStream","connectedUserAsParticipant","userId","id","image","name","landscapeStyles","flexDirection","createElement","style","styles","container","backgroundColor","static_grey","topContainer","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","mirror","streamURL","toURL","objectFit","absoluteFillObject","avatarContainer","participant","ParticipantStatus","bottomContainer","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","error","create","flex","justifyContent","paddingHorizontal","textAlign","borderRadius","alignItems","overflow","padding","alignSelf","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","StyleSheet","Text","View","MicOff","useCallStateHooks","useConnectedUser","useI18n","Avatar","LOBBY_VIDEO_VIEW_HEIGHT","RTCView","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","useTheme","useCallMediaStreamCleanup","LobbyFooter","DefaultLobbyFooter","Lobby","_ref","onJoinCallHandler","landscape","theme","colors","lobby","typefaces","connectedUser","useCameraState","status","cameraStatus","mediaStream","t","localVideoStream","connectedUserAsParticipant","userId","id","image","name","landscapeStyles","flexDirection","createElement","style","styles","container","backgroundColor","static_grey","topContainer","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","mirror","streamURL","toURL","objectFit","absoluteFillObject","avatarContainer","participant","ParticipantStatus","bottomContainer","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","error","create","flex","justifyContent","paddingHorizontal","textAlign","borderRadius","alignItems","overflow","padding","alignSelf","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useEffect, useMemo, useState } from 'react';
2
2
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
3
3
  import { useAppStateListener } from '../utils/hooks';
4
4
  import { NativeModules, Platform } from 'react-native';
@@ -22,6 +22,34 @@ export const MediaStreamManagement = _ref => {
22
22
  const {
23
23
  useCallSettings
24
24
  } = useCallStateHooks();
25
+ const settings = useCallSettings();
26
+
27
+ // Get the target resolution from the settings and memoize it
28
+ // Memoization is needed to avoid unnecessary useEffect triggers
29
+ const targetResolutionSetting = useMemo(() => {
30
+ var _settings$video$targe, _settings$video$targe2, _settings$video$targe3;
31
+ if ((settings === null || settings === void 0 || (_settings$video$targe = settings.video.target_resolution) === null || _settings$video$targe === void 0 ? void 0 : _settings$video$targe.width) === undefined || (settings === null || settings === void 0 || (_settings$video$targe2 = settings.video.target_resolution) === null || _settings$video$targe2 === void 0 ? void 0 : _settings$video$targe2.height) === undefined || (settings === null || settings === void 0 || (_settings$video$targe3 = settings.video.target_resolution) === null || _settings$video$targe3 === void 0 ? void 0 : _settings$video$targe3.bitrate) === undefined) {
32
+ return undefined;
33
+ }
34
+ return {
35
+ width: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.width,
36
+ height: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.height,
37
+ bitrate: settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.bitrate
38
+ };
39
+ }, [settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.width, settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.height, settings === null || settings === void 0 ? void 0 : settings.video.target_resolution.bitrate]);
40
+
41
+ // Get the target resolution from the default device settings and memoize it
42
+ // Memoization is needed to avoid unnecessary useEffect triggers
43
+ const defaultOnSetting = useMemo(() => {
44
+ if ((settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on) === undefined || (settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on) === undefined) {
45
+ return undefined;
46
+ } else {
47
+ return {
48
+ mic_default_on: settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on,
49
+ camera_default_on: settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on
50
+ };
51
+ }
52
+ }, [settings === null || settings === void 0 ? void 0 : settings.audio.mic_default_on, settings === null || settings === void 0 ? void 0 : settings.video.camera_default_on]);
25
53
 
26
54
  // Resume/Disable video stream tracks when app goes to background/foreground
27
55
  // To save on CPU resources
@@ -51,33 +79,32 @@ export const MediaStreamManagement = _ref => {
51
79
  initialAudioEnabled: undefined,
52
80
  initialVideoEnabled: undefined
53
81
  });
54
- const settings = useCallSettings();
55
82
 
56
83
  // Use backend settings to set initial audio/video enabled state
57
84
  // It is applied only if the prop was undefined -- meaning user did not provide any value
58
85
  useEffect(() => {
59
- if (!settings) {
86
+ if (!defaultOnSetting) {
60
87
  return;
61
88
  }
62
89
  const {
63
- audio,
64
- video
65
- } = settings;
90
+ mic_default_on,
91
+ camera_default_on
92
+ } = defaultOnSetting;
66
93
  setInitialDeviceState(prev => {
67
94
  let initAudio = prev.initialAudioEnabled;
68
95
  if (typeof propInitialAudioEnabled === 'undefined') {
69
- initAudio = audio.mic_default_on;
96
+ initAudio = mic_default_on;
70
97
  }
71
98
  let initVideo = prev.initialVideoEnabled;
72
99
  if (typeof propInitialVideoEnabled === 'undefined') {
73
- initVideo = video.camera_default_on;
100
+ initVideo = camera_default_on;
74
101
  }
75
102
  return {
76
103
  initialAudioEnabled: initAudio,
77
104
  initialVideoEnabled: initVideo
78
105
  };
79
106
  });
80
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
107
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, defaultOnSetting]);
81
108
 
82
109
  // Apply SDK settings to set the initial audio/video enabled state
83
110
  useEffect(() => {
@@ -106,17 +133,22 @@ export const MediaStreamManagement = _ref => {
106
133
  if (initialVideoEnabled === undefined) {
107
134
  return;
108
135
  }
136
+ // we wait until we receive the resolution settings from the backend
137
+ if (!call || !targetResolutionSetting) {
138
+ return;
139
+ }
109
140
  if (initialAudioEnabled) {
110
- call === null || call === void 0 || call.microphone.enable();
141
+ call.microphone.enable();
111
142
  } else {
112
- call === null || call === void 0 || call.microphone.disable();
143
+ call.microphone.disable();
113
144
  }
145
+ call.camera.selectTargetResolution(targetResolutionSetting);
114
146
  if (initialVideoEnabled) {
115
- call === null || call === void 0 || call.camera.enable();
147
+ call.camera.enable();
116
148
  } else {
117
- call === null || call === void 0 || call.camera.disable();
149
+ call.camera.disable();
118
150
  }
119
- }, [call, initialAudioEnabled, initialVideoEnabled]);
151
+ }, [call, initialAudioEnabled, initialVideoEnabled, targetResolutionSetting]);
120
152
  return /*#__PURE__*/React.createElement(React.Fragment, null, children);
121
153
  };
122
154
  //# sourceMappingURL=MediaStreamManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","useCall","useCallStateHooks","useAppStateListener","NativeModules","Platform","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","call","useCallSettings","_call$camera","camera","resume","OS","_NativeModules$Stream","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","setInitialDeviceState","undefined","settings","audio","video","prev","initAudio","mic_default_on","initVideo","camera_default_on","microphone","enable","createElement","Fragment"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAuBC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAatD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGC,IAAA,IAIc;EAAA,IAJb;IACpCC,mBAAmB,EAAEC,uBAAuB;IAC5CC,mBAAmB,EAAEC,uBAAuB;IAC5CC;EAC2C,CAAC,GAAAL,IAAA;EAC5C,MAAMM,IAAI,GAAGZ,OAAO,CAAC,CAAC;EACtB,MAAM;IAAEa;EAAgB,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;;EAE/C;EACA;EACAC,mBAAmB,CACjB,MAAM;IAAA,IAAAY,YAAA;IACJF,IAAI,aAAJA,IAAI,gBAAAE,YAAA,GAAJF,IAAI,CAAEG,MAAM,cAAAD,YAAA,eAAZA,YAAA,CAAcE,MAAM,CAAC,CAAC;EACxB,CAAC,EACD,MAAM;IACJ,IAAIZ,QAAQ,CAACa,EAAE,KAAK,SAAS,EAAE;MAAA,IAAAC,qBAAA;MAC7B;MACA;MACAf,aAAa,aAAbA,aAAa,gBAAAe,qBAAA,GAAbf,aAAa,CAAEgB,sBAAsB,cAAAD,qBAAA,eAArCA,qBAAA,CAAuCE,WAAW,CAAC,CAAC,CAACC,IAAI,CACtDC,OAAgB,IAAK;QACpB,IAAI,CAACA,OAAO,EAAE;UAAA,IAAAC,aAAA;UACZX,IAAI,aAAJA,IAAI,gBAAAW,aAAA,GAAJX,IAAI,CAAEG,MAAM,cAAAQ,aAAA,eAAZA,aAAA,CAAcC,OAAO,CAAC,CAAC;QACzB;MACF,CACF,CAAC;IACH,CAAC,MAAM;MAAA,IAAAC,aAAA;MACLb,IAAI,aAAJA,IAAI,gBAAAa,aAAA,GAAJb,IAAI,CAAEG,MAAM,cAAAU,aAAA,eAAZA,aAAA,CAAcD,OAAO,CAAC,CAAC;IACzB;EACF,CACF,CAAC;EAED,MAAM,CAAC;IAAEjB,mBAAmB;IAAEE;EAAoB,CAAC,EAAEiB,qBAAqB,CAAC,GACzE3B,QAAQ,CAA2B;IACjCQ,mBAAmB,EAAEoB,SAAS;IAC9BlB,mBAAmB,EAAEkB;EACvB,CAAC,CAAC;EAEJ,MAAMC,QAAQ,GAAGf,eAAe,CAAC,CAAC;;EAElC;EACA;EACAf,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8B,QAAQ,EAAE;MACb;IACF;IAEA,MAAM;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGF,QAAQ;IACjCF,qBAAqB,CAAEK,IAAI,IAAK;MAC9B,IAAIC,SAAS,GAAGD,IAAI,CAACxB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDwB,SAAS,GAAGH,KAAK,CAACI,cAAc;MAClC;MACA,IAAIC,SAAS,GAAGH,IAAI,CAACtB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDwB,SAAS,GAAGJ,KAAK,CAACK,iBAAiB;MACrC;MACA,OAAO;QAAE5B,mBAAmB,EAAEyB,SAAS;QAAEvB,mBAAmB,EAAEyB;MAAU,CAAC;IAC3E,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC1B,uBAAuB,EAAEE,uBAAuB,EAAEkB,QAAQ,CAAC,CAAC;;EAEhE;EACA9B,SAAS,CAAC,MAAM;IACd4B,qBAAqB,CAAEK,IAAI,IAAK;MAC9B,IAAIC,SAAS,GAAGD,IAAI,CAACxB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDwB,SAAS,GAAGxB,uBAAuB;MACrC;MACA,IAAI0B,SAAS,GAAGH,IAAI,CAACtB,mBAAmB;MACxC,IAAI,OAAOC,uBAAuB,KAAK,WAAW,EAAE;QAClDwB,SAAS,GAAGxB,uBAAuB;MACrC;MAEA,OAAO;QACLH,mBAAmB,EAAEyB,SAAS;QAC9BvB,mBAAmB,EAAEyB;MACvB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC1B,uBAAuB,EAAEE,uBAAuB,CAAC,CAAC;;EAEtD;EACA;EACAZ,SAAS,CAAC,MAAM;IACd,IAAIS,mBAAmB,KAAKoB,SAAS,EAAE;MACrC;IACF;IACA,IAAIlB,mBAAmB,KAAKkB,SAAS,EAAE;MACrC;IACF;IACA,IAAIpB,mBAAmB,EAAE;MACvBK,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEwB,UAAU,CAACC,MAAM,CAAC,CAAC;IAC3B,CAAC,MAAM;MACLzB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEwB,UAAU,CAACZ,OAAO,CAAC,CAAC;IAC5B;IAEA,IAAIf,mBAAmB,EAAE;MACvBG,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,MAAM,CAACsB,MAAM,CAAC,CAAC;IACvB,CAAC,MAAM;MACLzB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,MAAM,CAACS,OAAO,CAAC,CAAC;IACxB;EACF,CAAC,EAAE,CAACZ,IAAI,EAAEL,mBAAmB,EAAEE,mBAAmB,CAAC,CAAC;EAEpD,oBAAOZ,KAAA,CAAAyC,aAAA,CAAAzC,KAAA,CAAA0C,QAAA,QAAG5B,QAAW,CAAC;AACxB,CAAC"}
1
+ {"version":3,"names":["React","useEffect","useMemo","useState","useCall","useCallStateHooks","useAppStateListener","NativeModules","Platform","MediaStreamManagement","_ref","initialAudioEnabled","propInitialAudioEnabled","initialVideoEnabled","propInitialVideoEnabled","children","call","useCallSettings","settings","targetResolutionSetting","_settings$video$targe","_settings$video$targe2","_settings$video$targe3","video","target_resolution","width","undefined","height","bitrate","defaultOnSetting","audio","mic_default_on","camera_default_on","_call$camera","camera","resume","OS","_NativeModules$Stream","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","setInitialDeviceState","prev","initAudio","initVideo","microphone","enable","selectTargetResolution","createElement","Fragment"],"sourceRoot":"../../../src","sources":["providers/MediaStreamManagement.tsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = '0.2.14';
1
+ export const version = '0.3.1';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,QAAQ"}
1
+ {"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Lobby.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/Lobby.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc7C,OAAO,EAEL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAEL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACzC;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAC3D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,kFAMf,UAAU,sBA0FZ,CAAC"}
1
+ {"version":3,"file":"Lobby.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/Lobby.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa7C,OAAO,EAEL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAEL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACzC;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAC3D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,kFAMf,UAAU,sBAuFZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaStreamManagement.d.ts","sourceRoot":"","sources":["../../../src/providers/MediaStreamManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAKtE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8GAI/B,kBAAkB,wBAAwB,CAAC,sBAkG7C,CAAC"}
1
+ {"version":3,"file":"MediaStreamManagement.d.ts","sourceRoot":"","sources":["../../../src/providers/MediaStreamManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AAM/E,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8GAI/B,kBAAkB,wBAAwB,CAAC,sBA4I7C,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.2.14";
1
+ export declare const version = "0.3.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -4,9 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const config_plugins_1 = require("@expo/config-plugins");
7
- const withStreamVideoReactNativeSDKAppDelegate_1 = __importDefault(require("./withStreamVideoReactNativeSDKAppDelegate"));
8
7
  const withPushAppDelegate_1 = __importDefault(require("./withPushAppDelegate"));
9
- const withMainApplication_1 = __importDefault(require("./withMainApplication"));
10
8
  const withAndroidPermissions_1 = __importDefault(require("./withAndroidPermissions"));
11
9
  const withAndroidManifest_1 = __importDefault(require("./withAndroidManifest"));
12
10
  const withiOSInfoPlist_1 = __importDefault(require("./withiOSInfoPlist"));
@@ -20,11 +18,9 @@ const withStreamVideoReactNativeSDK = (config, props) => {
20
18
  return (0, config_plugins_1.withPlugins)(config, [
21
19
  // ios
22
20
  () => (0, withPushAppDelegate_1.default)(config, props),
23
- withStreamVideoReactNativeSDKAppDelegate_1.default,
24
21
  () => (0, withiOSInfoPlist_1.default)(config, props),
25
22
  () => (0, withIosScreenCapture_1.default)(config, props),
26
23
  // android
27
- withMainApplication_1.default,
28
24
  withAndroidPermissions_1.default,
29
25
  withAppBuildGradle_1.default,
30
26
  withBuildProperties_1.default,
@@ -18,6 +18,7 @@ const withStreamVideoReactNativeSDKMainActivity = (configuration, props) => {
18
18
  */
19
19
  config.modResults.contents = (0, codeMod_1.addImports)(config.modResults.contents, [
20
20
  'com.streamvideo.reactnative.StreamVideoReactNative',
21
+ 'android.os.Build',
21
22
  'android.util.Rational',
22
23
  'androidx.lifecycle.Lifecycle',
23
24
  'android.app.PictureInPictureParams',
@@ -43,7 +44,7 @@ function addOnPictureInPictureModeChanged(contents) {
43
44
  @Override
44
45
  public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
45
46
  super.onPictureInPictureModeChanged(isInPictureInPictureMode);
46
- if (getLifecycle().getCurrentState() == Lifecycle.State.CREATED) {
47
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && getLifecycle().getCurrentState() == Lifecycle.State.CREATED) {
47
48
  // when user clicks on Close button of PIP
48
49
  finishAndRemoveTask();
49
50
  } else {
@@ -4,6 +4,6 @@
4
4
 
5
5
  - (void)screenShareEventReceived:(NSString *)event;
6
6
 
7
- + (void)setup;
7
+ + (void)setup DEPRECATED_MSG_ATTRIBUTE("No need to use setup() anymore");
8
8
 
9
- @end
9
+ @end
@@ -31,10 +31,10 @@ RCT_EXPORT_MODULE();
31
31
  }
32
32
 
33
33
  +(void)setup {
34
- RTCDefaultVideoEncoderFactory *videoEncoderFactory = [[RTCDefaultVideoEncoderFactory alloc] init];
35
- RTCVideoEncoderFactorySimulcast *simulcastVideoEncoderFactory = [[RTCVideoEncoderFactorySimulcast alloc] initWithPrimary:videoEncoderFactory fallback:videoEncoderFactory];
36
- WebRTCModuleOptions *options = [WebRTCModuleOptions sharedInstance];
37
- options.videoEncoderFactory = simulcastVideoEncoderFactory;
34
+ // RTCDefaultVideoEncoderFactory *videoEncoderFactory = [[RTCDefaultVideoEncoderFactory alloc] init];
35
+ // RTCVideoEncoderFactorySimulcast *simulcastVideoEncoderFactory = [[RTCVideoEncoderFactorySimulcast alloc] initWithPrimary:videoEncoderFactory fallback:videoEncoderFactory];
36
+ // WebRTCModuleOptions *options = [WebRTCModuleOptions sharedInstance];
37
+ // options.videoEncoderFactory = simulcastVideoEncoderFactory;
38
38
  }
39
39
 
40
40
  -(instancetype)init {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "0.2.14",
3
+ "version": "0.3.1",
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": "^0.4.10",
50
- "@stream-io/video-react-bindings": "^0.3.10",
49
+ "@stream-io/video-client": "^0.5.0",
50
+ "@stream-io/video-react-bindings": "^0.3.11",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -59,7 +59,7 @@
59
59
  "@react-native-community/push-notification-ios": ">=1.11.0",
60
60
  "@react-native-firebase/app": ">=17.5.0",
61
61
  "@react-native-firebase/messaging": ">=17.5.0",
62
- "@stream-io/react-native-webrtc": ">=104.0.3",
62
+ "@stream-io/react-native-webrtc": "^118.0.1",
63
63
  "expo": ">=47.0.0",
64
64
  "expo-build-properties": "*",
65
65
  "expo-notifications": "*",
@@ -117,7 +117,7 @@
117
117
  "@react-native-community/push-notification-ios": "1.11.0",
118
118
  "@react-native-firebase/app": "17.5.0",
119
119
  "@react-native-firebase/messaging": "17.5.0",
120
- "@stream-io/react-native-webrtc": "104.0.3",
120
+ "@stream-io/react-native-webrtc": "118.0.1",
121
121
  "@testing-library/jest-native": "^5.4.2",
122
122
  "@testing-library/react-native": "^12.1.2",
123
123
  "@tsconfig/node14": "14.1.0",
@@ -2,7 +2,6 @@ import React, { ComponentType } from 'react';
2
2
  import { StyleSheet, Text, View, ViewStyle } from 'react-native';
3
3
  import { MicOff } from '../../../icons';
4
4
  import {
5
- useCall,
6
5
  useCallStateHooks,
7
6
  useConnectedUser,
8
7
  useI18n,
@@ -66,12 +65,9 @@ export const Lobby = ({
66
65
  } = useTheme();
67
66
  const connectedUser = useConnectedUser();
68
67
  const { useCameraState } = useCallStateHooks();
69
- const { status: cameraStatus } = useCameraState();
70
- const call = useCall();
68
+ const { status: cameraStatus, mediaStream } = useCameraState();
71
69
  const { t } = useI18n();
72
- const localVideoStream = call?.camera.state.mediaStream as unknown as
73
- | MediaStream
74
- | undefined;
70
+ const localVideoStream = mediaStream as unknown as MediaStream | undefined;
75
71
 
76
72
  useCallMediaStreamCleanup();
77
73
 
@@ -1,7 +1,8 @@
1
- import React, { PropsWithChildren, useEffect, useState } from 'react';
1
+ import React, { PropsWithChildren, useEffect, useMemo, useState } from 'react';
2
2
  import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
3
3
  import { useAppStateListener } from '../utils/hooks';
4
4
  import { NativeModules, Platform } from 'react-native';
5
+ import type { TargetResolution } from '@stream-io/video-client';
5
6
 
6
7
  export type MediaDevicesInitialState = {
7
8
  /**
@@ -31,6 +32,44 @@ export const MediaStreamManagement = ({
31
32
  }: PropsWithChildren<MediaDevicesInitialState>) => {
32
33
  const call = useCall();
33
34
  const { useCallSettings } = useCallStateHooks();
35
+ const settings = useCallSettings();
36
+
37
+ // Get the target resolution from the settings and memoize it
38
+ // Memoization is needed to avoid unnecessary useEffect triggers
39
+ const targetResolutionSetting = useMemo<TargetResolution | undefined>(() => {
40
+ if (
41
+ settings?.video.target_resolution?.width === undefined ||
42
+ settings?.video.target_resolution?.height === undefined ||
43
+ settings?.video.target_resolution?.bitrate === undefined
44
+ ) {
45
+ return undefined;
46
+ }
47
+ return {
48
+ width: settings?.video.target_resolution.width,
49
+ height: settings?.video.target_resolution.height,
50
+ bitrate: settings?.video.target_resolution.bitrate,
51
+ };
52
+ }, [
53
+ settings?.video.target_resolution.width,
54
+ settings?.video.target_resolution.height,
55
+ settings?.video.target_resolution.bitrate,
56
+ ]);
57
+
58
+ // Get the target resolution from the default device settings and memoize it
59
+ // Memoization is needed to avoid unnecessary useEffect triggers
60
+ const defaultOnSetting = useMemo(() => {
61
+ if (
62
+ settings?.audio.mic_default_on === undefined ||
63
+ settings?.video.camera_default_on === undefined
64
+ ) {
65
+ return undefined;
66
+ } else {
67
+ return {
68
+ mic_default_on: settings?.audio.mic_default_on,
69
+ camera_default_on: settings?.video.camera_default_on,
70
+ };
71
+ }
72
+ }, [settings?.audio.mic_default_on, settings?.video.camera_default_on]);
34
73
 
35
74
  // Resume/Disable video stream tracks when app goes to background/foreground
36
75
  // To save on CPU resources
@@ -61,28 +100,26 @@ export const MediaStreamManagement = ({
61
100
  initialVideoEnabled: undefined,
62
101
  });
63
102
 
64
- const settings = useCallSettings();
65
-
66
103
  // Use backend settings to set initial audio/video enabled state
67
104
  // It is applied only if the prop was undefined -- meaning user did not provide any value
68
105
  useEffect(() => {
69
- if (!settings) {
106
+ if (!defaultOnSetting) {
70
107
  return;
71
108
  }
72
109
 
73
- const { audio, video } = settings;
110
+ const { mic_default_on, camera_default_on } = defaultOnSetting;
74
111
  setInitialDeviceState((prev) => {
75
112
  let initAudio = prev.initialAudioEnabled;
76
113
  if (typeof propInitialAudioEnabled === 'undefined') {
77
- initAudio = audio.mic_default_on;
114
+ initAudio = mic_default_on;
78
115
  }
79
116
  let initVideo = prev.initialVideoEnabled;
80
117
  if (typeof propInitialVideoEnabled === 'undefined') {
81
- initVideo = video.camera_default_on;
118
+ initVideo = camera_default_on;
82
119
  }
83
120
  return { initialAudioEnabled: initAudio, initialVideoEnabled: initVideo };
84
121
  });
85
- }, [propInitialAudioEnabled, propInitialVideoEnabled, settings]);
122
+ }, [propInitialAudioEnabled, propInitialVideoEnabled, defaultOnSetting]);
86
123
 
87
124
  // Apply SDK settings to set the initial audio/video enabled state
88
125
  useEffect(() => {
@@ -112,18 +149,24 @@ export const MediaStreamManagement = ({
112
149
  if (initialVideoEnabled === undefined) {
113
150
  return;
114
151
  }
152
+ // we wait until we receive the resolution settings from the backend
153
+ if (!call || !targetResolutionSetting) {
154
+ return;
155
+ }
156
+
115
157
  if (initialAudioEnabled) {
116
- call?.microphone.enable();
158
+ call.microphone.enable();
117
159
  } else {
118
- call?.microphone.disable();
160
+ call.microphone.disable();
119
161
  }
120
162
 
163
+ call.camera.selectTargetResolution(targetResolutionSetting);
121
164
  if (initialVideoEnabled) {
122
- call?.camera.enable();
165
+ call.camera.enable();
123
166
  } else {
124
- call?.camera.disable();
167
+ call.camera.disable();
125
168
  }
126
- }, [call, initialAudioEnabled, initialVideoEnabled]);
169
+ }, [call, initialAudioEnabled, initialVideoEnabled, targetResolutionSetting]);
127
170
 
128
171
  return <>{children}</>;
129
172
  };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.2.14';
1
+ export const version = '0.3.1';
@@ -1,249 +0,0 @@
1
- package com.streamvideo.reactnative.video
2
-
3
- import android.util.Log
4
- import org.webrtc.EglBase
5
- import org.webrtc.HardwareVideoEncoderFactory
6
- import org.webrtc.SimulcastVideoEncoderFactory
7
- import org.webrtc.SoftwareVideoEncoderFactory
8
- import org.webrtc.VideoCodecInfo
9
- import org.webrtc.VideoCodecStatus
10
- import org.webrtc.VideoEncoder
11
- import org.webrtc.VideoEncoderFactory
12
- import org.webrtc.VideoEncoderFallback
13
- import org.webrtc.VideoFrame
14
- import org.webrtc.WrappedNativeVideoEncoder
15
- import java.util.concurrent.Callable
16
- import java.util.concurrent.ExecutorService
17
- import java.util.concurrent.Executors
18
-
19
- /*
20
- Copyright 2017, Lyo Kato <lyo.kato at gmail.com> (Original Author)
21
- Copyright 2017-2021, Shiguredo Inc.
22
-
23
- Licensed under the Apache License, Version 2.0 (the "License");
24
- you may not use this file except in compliance with the License.
25
- You may obtain a copy of the License at
26
-
27
- http://www.apache.org/licenses/LICENSE-2.0
28
-
29
- Unless required by applicable law or agreed to in writing, software
30
- distributed under the License is distributed on an "AS IS" BASIS,
31
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
- See the License for the specific language governing permissions and
33
- limitations under the License.
34
- */
35
- open class SimulcastVideoEncoderFactoryWrapper(
36
- sharedContext: EglBase.Context?,
37
- enableIntelVp8Encoder: Boolean,
38
- enableH264HighProfile: Boolean
39
- ) : VideoEncoderFactory {
40
-
41
- /**
42
- * Factory that prioritizes software encoder.
43
- *
44
- * When the selected codec can't be handled by the software encoder,
45
- * it uses the hardware encoder as a fallback. However, this class is
46
- * primarily used to address an issue in libwebrtc, and does not have
47
- * purposeful usecase itself.
48
- *
49
- * To use simulcast in libwebrtc, SimulcastEncoderAdapter is used.
50
- * SimulcastEncoderAdapter takes in a primary and fallback encoder.
51
- * If HardwareVideoEncoderFactory and SoftwareVideoEncoderFactory are
52
- * passed in directly as primary and fallback, when H.264 is used,
53
- * libwebrtc will crash.
54
- *
55
- * This is because SoftwareVideoEncoderFactory does not handle H.264,
56
- * so [SoftwareVideoEncoderFactory.createEncoder] returns null, and
57
- * the libwebrtc side does not handle nulls, regardless of whether the
58
- * fallback is actually used or not.
59
- *
60
- * To avoid nulls, we simply pass responsibility over to the HardwareVideoEncoderFactory.
61
- * This results in HardwareVideoEncoderFactory being both the primary and fallback,
62
- * but there aren't any specific problems in doing so.
63
- */
64
- private class FallbackFactory(private val hardwareVideoEncoderFactory: VideoEncoderFactory) :
65
- VideoEncoderFactory {
66
-
67
- private val softwareVideoEncoderFactory: VideoEncoderFactory = SoftwareVideoEncoderFactory()
68
-
69
- override fun createEncoder(info: VideoCodecInfo): VideoEncoder? {
70
- val softwareEncoder = softwareVideoEncoderFactory.createEncoder(info)
71
- val hardwareEncoder = hardwareVideoEncoderFactory.createEncoder(info)
72
- return if (hardwareEncoder != null && softwareEncoder != null) {
73
- VideoEncoderFallback(hardwareEncoder, softwareEncoder)
74
- } else {
75
- softwareEncoder ?: hardwareEncoder
76
- }
77
- }
78
-
79
- override fun getSupportedCodecs(): Array<VideoCodecInfo> {
80
- val supportedCodecInfos: MutableList<VideoCodecInfo> = mutableListOf()
81
- supportedCodecInfos.addAll(softwareVideoEncoderFactory.supportedCodecs)
82
- supportedCodecInfos.addAll(hardwareVideoEncoderFactory.supportedCodecs)
83
- return supportedCodecInfos.toTypedArray()
84
- }
85
-
86
- }
87
-
88
- /**
89
- * Wraps each stream encoder and performs the following:
90
- * - Starts up a single thread
91
- * - When the width/height from [initEncode] doesn't match the frame buffer's,
92
- * scales the frame prior to encoding.
93
- * - Always calls the encoder on the thread.
94
- */
95
- private class StreamEncoderWrapper(private val encoder: VideoEncoder) : VideoEncoder {
96
-
97
- val executor: ExecutorService = Executors.newSingleThreadExecutor()
98
- var streamSettings: VideoEncoder.Settings? = null
99
-
100
- override fun initEncode(
101
- settings: VideoEncoder.Settings,
102
- callback: VideoEncoder.Callback?
103
- ): VideoCodecStatus {
104
- streamSettings = settings
105
- val future = executor.submit(Callable {
106
- Log.i(
107
- "SimulVideoEncoderFac",
108
- """initEncode() thread=${Thread.currentThread().name} [${Thread.currentThread().id}]
109
- | encoder=${encoder.implementationName}
110
- | streamSettings:
111
- | numberOfCores=${settings.numberOfCores}
112
- | width=${settings.width}
113
- | height=${settings.height}
114
- | startBitrate=${settings.startBitrate}
115
- | maxFramerate=${settings.maxFramerate}
116
- | automaticResizeOn=${settings.automaticResizeOn}
117
- | numberOfSimulcastStreams=${settings.numberOfSimulcastStreams}
118
- | lossNotification=${settings.capabilities.lossNotification}
119
- """.trimMargin()
120
- )
121
- return@Callable encoder.initEncode(settings, callback)
122
- })
123
- return future.get()
124
- }
125
-
126
- override fun release(): VideoCodecStatus {
127
- val future = executor.submit(Callable { return@Callable encoder.release() })
128
- return future.get()
129
- }
130
-
131
- override fun encode(
132
- frame: VideoFrame,
133
- encodeInfo: VideoEncoder.EncodeInfo?
134
- ): VideoCodecStatus {
135
- val future = executor.submit(Callable {
136
- //LKLog.d { "encode() buffer=${frame.buffer}, thread=${Thread.currentThread().name} " +
137
- // "[${Thread.currentThread().id}]" }
138
- if (streamSettings == null) {
139
- return@Callable encoder.encode(frame, encodeInfo)
140
- } else if (frame.buffer.width == streamSettings!!.width) {
141
- return@Callable encoder.encode(frame, encodeInfo)
142
- } else {
143
- // The incoming buffer is different than the streamSettings received in initEncode()
144
- // Need to scale.
145
- val originalBuffer = frame.buffer
146
- // TODO: Do we need to handle when the scale factor is weird?
147
- val adaptedBuffer = originalBuffer.cropAndScale(
148
- 0, 0, originalBuffer.width, originalBuffer.height,
149
- streamSettings!!.width, streamSettings!!.height
150
- )
151
- val adaptedFrame = VideoFrame(adaptedBuffer, frame.rotation, frame.timestampNs)
152
- val result = encoder.encode(adaptedFrame, encodeInfo)
153
- adaptedBuffer.release()
154
- return@Callable result
155
- }
156
- })
157
- return future.get()
158
- }
159
-
160
- override fun setRateAllocation(
161
- allocation: VideoEncoder.BitrateAllocation?,
162
- frameRate: Int
163
- ): VideoCodecStatus {
164
- val future = executor.submit(Callable {
165
- return@Callable encoder.setRateAllocation(
166
- allocation,
167
- frameRate
168
- )
169
- })
170
- return future.get()
171
- }
172
-
173
- override fun getScalingSettings(): VideoEncoder.ScalingSettings {
174
- val future = executor.submit(Callable { return@Callable encoder.scalingSettings })
175
- return future.get()
176
- }
177
-
178
- override fun getImplementationName(): String {
179
- val future = executor.submit(Callable { return@Callable encoder.implementationName })
180
- return future.get()
181
- }
182
-
183
- override fun createNativeVideoEncoder(): Long {
184
- val future = executor.submit(Callable { return@Callable encoder.createNativeVideoEncoder() })
185
- return future.get()
186
- }
187
-
188
- override fun isHardwareEncoder(): Boolean {
189
- val future = executor.submit(Callable { return@Callable encoder.isHardwareEncoder })
190
- return future.get()
191
- }
192
-
193
- override fun setRates(rcParameters: VideoEncoder.RateControlParameters?): VideoCodecStatus {
194
- val future = executor.submit(Callable { return@Callable encoder.setRates(rcParameters) })
195
- return future.get()
196
- }
197
-
198
- override fun getResolutionBitrateLimits(): Array<VideoEncoder.ResolutionBitrateLimits> {
199
- val future = executor.submit(Callable { return@Callable encoder.resolutionBitrateLimits })
200
- return future.get()
201
- }
202
-
203
- override fun getEncoderInfo(): VideoEncoder.EncoderInfo {
204
- val future = executor.submit(Callable { return@Callable encoder.encoderInfo })
205
- return future.get()
206
- }
207
- }
208
-
209
- private class StreamEncoderWrapperFactory(private val factory: VideoEncoderFactory) :
210
- VideoEncoderFactory {
211
- override fun createEncoder(videoCodecInfo: VideoCodecInfo?): VideoEncoder? {
212
- val encoder = factory.createEncoder(videoCodecInfo)
213
- if (encoder == null) {
214
- return null
215
- }
216
- if (encoder is WrappedNativeVideoEncoder) {
217
- return encoder
218
- }
219
- return StreamEncoderWrapper(encoder)
220
- }
221
-
222
- override fun getSupportedCodecs(): Array<VideoCodecInfo> {
223
- return factory.supportedCodecs
224
- }
225
- }
226
-
227
-
228
- private val primary: VideoEncoderFactory
229
- private val fallback: VideoEncoderFactory
230
- private val native: SimulcastVideoEncoderFactory
231
-
232
- init {
233
- val hardwareVideoEncoderFactory = HardwareVideoEncoderFactory(
234
- sharedContext, enableIntelVp8Encoder, enableH264HighProfile
235
- )
236
- primary = StreamEncoderWrapperFactory(hardwareVideoEncoderFactory)
237
- fallback = StreamEncoderWrapperFactory(FallbackFactory(primary))
238
- native = SimulcastVideoEncoderFactory(primary, fallback)
239
- }
240
-
241
- override fun createEncoder(info: VideoCodecInfo?): VideoEncoder? {
242
- return native.createEncoder(info)
243
- }
244
-
245
- override fun getSupportedCodecs(): Array<VideoCodecInfo> {
246
- return native.supportedCodecs
247
- }
248
-
249
- }
@@ -1,19 +0,0 @@
1
- package com.streamvideo.reactnative.video
2
-
3
- import com.oney.WebRTCModule.EglUtils
4
- import org.webrtc.VideoCodecInfo
5
- import org.webrtc.VideoDecoder
6
- import org.webrtc.VideoDecoderFactory
7
- import org.webrtc.WrappedVideoDecoderFactory
8
-
9
- class WrappedVideoDecoderFactoryProxy : VideoDecoderFactory {
10
-
11
- private val factory by lazy { WrappedVideoDecoderFactory(EglUtils.getRootEglBaseContext()) }
12
- override fun createDecoder(codecInfo: VideoCodecInfo): VideoDecoder? {
13
- return factory.createDecoder(codecInfo)
14
- }
15
-
16
- override fun getSupportedCodecs(): Array<VideoCodecInfo> {
17
- return factory.supportedCodecs
18
- }
19
- }
@@ -1,3 +0,0 @@
1
- import { ConfigPlugin } from '@expo/config-plugins';
2
- declare const withStreamVideoReactNativeSDKMainApplication: ConfigPlugin;
3
- export default withStreamVideoReactNativeSDKMainApplication;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const config_plugins_1 = require("@expo/config-plugins");
4
- const codeMod_1 = require("@expo/config-plugins/build/android/codeMod");
5
- const withStreamVideoReactNativeSDKMainApplication = (configuration) => {
6
- return (0, config_plugins_1.withMainApplication)(configuration, (config) => {
7
- if (['java', 'kt'].includes(config.modResults.language)) {
8
- try {
9
- config.modResults.contents = (0, codeMod_1.addImports)(config.modResults.contents, ['com.streamvideo.reactnative.StreamVideoReactNative'], config.modResults.language === 'java');
10
- const statementToInsert = 'StreamVideoReactNative.setup();\n';
11
- if (!config.modResults.contents.includes(statementToInsert)) {
12
- config.modResults.contents = (0, codeMod_1.appendContentsInsideDeclarationBlock)(config.modResults.contents, 'onCreate', statementToInsert);
13
- }
14
- }
15
- catch (error) {
16
- throw new Error("Cannot add StreamVideoReactNativeSDK to the project's MainApplication because it's malformed.");
17
- }
18
- }
19
- else {
20
- throw new Error('Cannot setup StreamVideoReactNativeSDK because the MainApplication is not in Java/Kotlin');
21
- }
22
- return config;
23
- });
24
- };
25
- exports.default = withStreamVideoReactNativeSDKMainApplication;
@@ -1,3 +0,0 @@
1
- import { ConfigPlugin } from '@expo/config-plugins';
2
- declare const withStreamVideoReactNativeSDKAppDelegate: ConfigPlugin;
3
- export default withStreamVideoReactNativeSDKAppDelegate;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const config_plugins_1 = require("@expo/config-plugins");
4
- const codeMod_1 = require("@expo/config-plugins/build/ios/codeMod");
5
- const withStreamVideoReactNativeSDKAppDelegate = (configuration) => {
6
- return (0, config_plugins_1.withAppDelegate)(configuration, (config) => {
7
- if (['objc', 'objcpp'].includes(config.modResults.language)) {
8
- config.modResults.contents = (0, codeMod_1.addObjcImports)(config.modResults.contents, [
9
- '"StreamVideoReactNative.h"',
10
- ]);
11
- const setupMethod = '[StreamVideoReactNative setup];';
12
- if (!config.modResults.contents.includes(setupMethod)) {
13
- config.modResults.contents = (0, codeMod_1.insertContentsInsideObjcFunctionBlock)(config.modResults.contents, 'application:didFinishLaunchingWithOptions:', setupMethod, { position: 'head' });
14
- }
15
- }
16
- else {
17
- throw new Error('Cannot setup StreamVideoReactNativeSDK because the AppDelegate is not Objective C');
18
- }
19
- return config;
20
- });
21
- };
22
- exports.default = withStreamVideoReactNativeSDKAppDelegate;