@100mslive/react-native-hms 0.9.2 → 0.9.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.
Files changed (205) hide show
  1. package/README.md +1 -2
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/build.gradle +1 -1
  10. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +12 -0
  11. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +174 -2
  12. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +3 -73
  13. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +9 -4
  14. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +18 -27
  15. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +36 -2
  16. package/ios/HmsDecoder.swift +12 -2
  17. package/ios/HmsSDK.swift +9 -4
  18. package/ios/HmsView.swift +2 -14
  19. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  20. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  21. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  22. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  23. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  24. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  25. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  26. package/lib/commonjs/classes/HMSConfig.js +3 -0
  27. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  28. package/lib/commonjs/classes/HMSEncoder.js +31 -8
  29. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  30. package/lib/commonjs/classes/HMSException.js.map +1 -1
  31. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  32. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  33. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  34. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  35. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  36. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  37. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  38. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  39. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -5
  40. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  41. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  42. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  43. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -5
  44. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  46. package/lib/commonjs/classes/HMSLogger.js +19 -1
  47. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  48. package/lib/commonjs/classes/HMSMessage.js +1 -1
  49. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  50. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  51. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  52. package/lib/commonjs/classes/HMSNetworkQuality.js +20 -0
  53. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -0
  54. package/lib/commonjs/classes/HMSPeer.js +3 -0
  55. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  56. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -0
  57. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  58. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  60. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  61. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -5
  65. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  67. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -5
  69. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  70. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  71. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  72. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  74. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  75. package/lib/commonjs/classes/HMSSDK.js +79 -202
  76. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  77. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  78. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  79. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  80. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  81. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
  82. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  84. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  85. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  86. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  87. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  88. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  89. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  90. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  91. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  92. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  93. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  94. package/lib/commonjs/classes/HmsView.js +69 -17
  95. package/lib/commonjs/classes/HmsView.js.map +1 -1
  96. package/lib/commonjs/index.js +14 -14
  97. package/lib/commonjs/index.js.map +1 -1
  98. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  99. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  100. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  101. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  102. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  103. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  104. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  105. package/lib/module/classes/HMSConfig.js +3 -0
  106. package/lib/module/classes/HMSConfig.js.map +1 -1
  107. package/lib/module/classes/HMSEncoder.js +20 -2
  108. package/lib/module/classes/HMSEncoder.js.map +1 -1
  109. package/lib/module/classes/HMSException.js.map +1 -1
  110. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  111. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  112. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  113. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  114. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  115. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  116. package/lib/module/classes/HMSHelper.js.map +1 -1
  117. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  118. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  119. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  120. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  121. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  122. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  123. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  124. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  125. package/lib/module/classes/HMSLogger.js +10 -0
  126. package/lib/module/classes/HMSLogger.js.map +1 -1
  127. package/lib/module/classes/HMSMessage.js +1 -1
  128. package/lib/module/classes/HMSMessage.js.map +1 -1
  129. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  130. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  131. package/lib/module/classes/HMSNetworkQuality.js +11 -0
  132. package/lib/module/classes/HMSNetworkQuality.js.map +1 -0
  133. package/lib/module/classes/HMSPeer.js +3 -0
  134. package/lib/module/classes/HMSPeer.js.map +1 -1
  135. package/lib/module/classes/HMSPeerUpdate.js +1 -0
  136. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  137. package/lib/module/classes/HMSPermissions.js.map +1 -1
  138. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  139. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  140. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  141. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  142. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  144. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  145. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  146. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  147. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  148. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  149. package/lib/module/classes/HMSRole.js.map +1 -1
  150. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  151. package/lib/module/classes/HMSRoom.js.map +1 -1
  152. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  153. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  154. package/lib/module/classes/HMSSDK.js +79 -202
  155. package/lib/module/classes/HMSSDK.js.map +1 -1
  156. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  157. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  158. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  159. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  160. package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
  161. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  162. package/lib/module/classes/HMSTrack.js.map +1 -1
  163. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  164. package/lib/module/classes/HMSTrackType.js.map +1 -1
  165. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  166. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  167. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  168. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  169. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  170. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  171. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  172. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  173. package/lib/module/classes/HmsView.js +67 -17
  174. package/lib/module/classes/HmsView.js.map +1 -1
  175. package/lib/module/index.js +1 -1
  176. package/lib/module/index.js.map +1 -1
  177. package/lib/typescript/classes/HMSConfig.d.ts +2 -0
  178. package/lib/typescript/classes/HMSEncoder.d.ts +7 -1
  179. package/lib/typescript/classes/HMSLocalPeer.d.ts +2 -0
  180. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  181. package/lib/typescript/classes/HMSNetworkQuality.d.ts +6 -0
  182. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  183. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  184. package/lib/typescript/classes/HMSRemotePeer.d.ts +2 -0
  185. package/lib/typescript/classes/HMSSDK.d.ts +7 -9
  186. package/lib/typescript/classes/HmsView.d.ts +7 -7
  187. package/lib/typescript/index.d.ts +1 -1
  188. package/package.json +2 -2
  189. package/react-native-hms.podspec +1 -1
  190. package/src/classes/HMSConfig.ts +3 -0
  191. package/src/classes/HMSEncoder.ts +20 -10
  192. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  193. package/src/classes/HMSLocalPeer.ts +2 -0
  194. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  195. package/src/classes/HMSLogger.ts +11 -0
  196. package/src/classes/HMSMessage.ts +1 -1
  197. package/src/classes/HMSNetworkQuality.ts +7 -0
  198. package/src/classes/HMSPeer.ts +4 -2
  199. package/src/classes/HMSPeerUpdate.ts +1 -0
  200. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  201. package/src/classes/HMSRemotePeer.ts +2 -0
  202. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  203. package/src/classes/HMSSDK.tsx +22 -30
  204. package/src/classes/HmsView.tsx +102 -44
  205. package/src/index.ts +1 -1
@@ -1,22 +1,26 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { requireNativeComponent, StyleSheet } from 'react-native';
3
- import { HMSVideoViewMode } from '../classes/HMSVideoViewMode';
4
- const HmsViewComponent = requireNativeComponent('HmsView');
5
- export const HmsView = _ref => {
6
- let {
7
- sink,
1
+ import React, { useState, useEffect, useImperativeHandle, useRef } from 'react';
2
+ import { findNodeHandle, requireNativeComponent, StyleSheet, UIManager } from 'react-native';
3
+ import { HMSVideoViewMode } from './HMSVideoViewMode';
4
+ const HmsView = requireNativeComponent('HmsView');
5
+ let _nextRequestId = 1;
6
+
7
+ let _requestMap = new Map();
8
+
9
+ export const HmsViewComponent = /*#__PURE__*/React.forwardRef((props, ref) => {
10
+ const {
8
11
  trackId,
9
- style,
10
- id,
11
- mirror,
12
+ style = temporaryStyles.customStyle,
13
+ id = '12345',
14
+ mirror = false,
15
+ setZOrderMediaOverlay = false,
12
16
  scaleType = HMSVideoViewMode.ASPECT_FILL
13
- } = _ref;
17
+ } = props;
18
+ const hmsViewRef = useRef();
14
19
  const [tempVal, setTempVal] = useState(0);
15
20
  const data = {
16
21
  trackId,
17
- sink,
18
- id: id || null,
19
- mirror: mirror || false
22
+ id,
23
+ mirror
20
24
  };
21
25
 
22
26
  const onChange = values => {
@@ -26,16 +30,62 @@ export const HmsView = _ref => {
26
30
  }, 2000);
27
31
  };
28
32
 
33
+ const _onDataReturned = event => {
34
+ // We grab the relevant data out of our event.
35
+ let {
36
+ requestId,
37
+ result,
38
+ error
39
+ } = event.nativeEvent; // Then we get the promise we saved earlier for the given request ID.
40
+
41
+ let promise = _requestMap.get(requestId);
42
+
43
+ if (result) {
44
+ // If it was successful, we resolve the promise.
45
+ promise.resolve(result);
46
+ } else {
47
+ // Otherwise, we reject it.
48
+ promise.reject(error);
49
+ } // Finally, we clean up our request map.
50
+
51
+
52
+ _requestMap.delete(requestId);
53
+ };
54
+
55
+ const capture = async () => {
56
+ let requestId = _nextRequestId++;
57
+ let requestMap = _requestMap; // We create a promise here that will be resolved once `_onRequestDone` is
58
+ // called.
59
+
60
+ let promise = new Promise(function (resolve, reject) {
61
+ requestMap.set(requestId, {
62
+ resolve,
63
+ reject
64
+ });
65
+ });
66
+ const viewManagerConfig = UIManager.getViewManagerConfig('HmsView');
67
+ UIManager.dispatchViewManagerCommand(findNodeHandle(hmsViewRef.current), viewManagerConfig.Commands.capture, [requestId]);
68
+ return promise;
69
+ };
70
+
71
+ useImperativeHandle(ref, () => {
72
+ return {
73
+ capture
74
+ };
75
+ });
29
76
  useEffect(() => {
30
77
  setTempVal(0);
31
78
  }, [tempVal]);
32
- return /*#__PURE__*/React.createElement(HmsViewComponent, {
79
+ return /*#__PURE__*/React.createElement(HmsView, {
80
+ ref: hmsViewRef,
33
81
  onChange: onChange,
34
82
  data: data,
35
83
  style: tempVal === 0 ? style : temporaryStyles.customStyle,
36
- scaleType: scaleType
84
+ scaleType: scaleType,
85
+ setZOrderMediaOverlay: setZOrderMediaOverlay,
86
+ onDataReturned: _onDataReturned
37
87
  });
38
- };
88
+ });
39
89
  const temporaryStyles = StyleSheet.create({
40
90
  customStyle: {
41
91
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"sources":["HmsView.tsx"],"names":["React","useState","useEffect","requireNativeComponent","StyleSheet","HMSVideoViewMode","HmsViewComponent","HmsView","sink","trackId","style","id","mirror","scaleType","ASPECT_FILL","tempVal","setTempVal","data","onChange","values","console","log","setTimeout","temporaryStyles","customStyle","create","width","height"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,sBAAT,EAAiCC,UAAjC,QAA8D,cAA9D;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAcA,MAAMC,gBAAgB,GAAGH,sBAAsB,CAAe,SAAf,CAA/C;AAWA,OAAO,MAAMI,OAAO,GAAG,QAOE;AAAA,MAPD;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,OAFsB;AAGtBC,IAAAA,KAHsB;AAItBC,IAAAA,EAJsB;AAKtBC,IAAAA,MALsB;AAMtBC,IAAAA,SAAS,GAAGR,gBAAgB,CAACS;AANP,GAOC;AACvB,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBf,QAAQ,CAAC,CAAD,CAAtC;AACA,QAAMgB,IAAI,GAAG;AACXR,IAAAA,OADW;AAEXD,IAAAA,IAFW;AAGXG,IAAAA,EAAE,EAAEA,EAAE,IAAI,IAHC;AAIXC,IAAAA,MAAM,EAAEA,MAAM,IAAI;AAJP,GAAb;;AAOA,QAAMM,QAAQ,GAAIC,MAAD,IAAiB;AAChCC,IAAAA,OAAO,CAACC,GAAR,CAAYF,MAAZ,EAAoB,QAApB;AACAG,IAAAA,UAAU,CAAC,MAAM;AACfN,MAAAA,UAAU,CAAC,CAAD,CAAV;AACD,KAFS,EAEP,IAFO,CAAV;AAGD,GALD;;AAOAd,EAAAA,SAAS,CAAC,MAAM;AACdc,IAAAA,UAAU,CAAC,CAAD,CAAV;AACD,GAFQ,EAEN,CAACD,OAAD,CAFM,CAAT;AAIA,sBACE,oBAAC,gBAAD;AACE,IAAA,QAAQ,EAAEG,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,KAAK,EAAEF,OAAO,KAAK,CAAZ,GAAgBL,KAAhB,GAAwBa,eAAe,CAACC,WAHjD;AAIE,IAAA,SAAS,EAAEX;AAJb,IADF;AAQD,CAnCM;AAqCP,MAAMU,eAAe,GAAGnB,UAAU,CAACqB,MAAX,CAAkB;AACxCD,EAAAA,WAAW,EAAE;AACXE,IAAAA,KAAK,EAAE,MADI;AAEXC,IAAAA,MAAM,EAAE;AAFG;AAD2B,CAAlB,CAAxB","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { requireNativeComponent, StyleSheet, ViewStyle } from 'react-native';\nimport { HMSVideoViewMode } from '../classes/HMSVideoViewMode';\n\ninterface HmsViewProps {\n data: {\n trackId: string;\n sink: boolean;\n id?: string | null;\n mirror?: boolean;\n };\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n onChange: Function;\n}\n\nconst HmsViewComponent = requireNativeComponent<HmsViewProps>('HmsView');\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nexport const HmsView = ({\n sink,\n trackId,\n style,\n id,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FILL,\n}: HmsComponentProps) => {\n const [tempVal, setTempVal] = useState(0);\n const data = {\n trackId,\n sink,\n id: id || null,\n mirror: mirror || false,\n };\n\n const onChange = (values: any) => {\n console.log(values, 'values');\n setTimeout(() => {\n setTempVal(1);\n }, 2000);\n };\n\n useEffect(() => {\n setTempVal(0);\n }, [tempVal]);\n\n return (\n <HmsViewComponent\n onChange={onChange}\n data={data}\n style={tempVal === 0 ? style : temporaryStyles.customStyle}\n scaleType={scaleType}\n />\n );\n};\n\nconst temporaryStyles = StyleSheet.create({\n customStyle: {\n width: '100%',\n height: '50%',\n },\n});\n"]}
1
+ {"version":3,"names":["React","useState","useEffect","useImperativeHandle","useRef","findNodeHandle","requireNativeComponent","StyleSheet","UIManager","HMSVideoViewMode","HmsView","_nextRequestId","_requestMap","Map","HmsViewComponent","forwardRef","props","ref","trackId","style","temporaryStyles","customStyle","id","mirror","setZOrderMediaOverlay","scaleType","ASPECT_FILL","hmsViewRef","tempVal","setTempVal","data","onChange","values","console","log","setTimeout","_onDataReturned","event","requestId","result","error","nativeEvent","promise","get","resolve","reject","delete","capture","requestMap","Promise","set","viewManagerConfig","getViewManagerConfig","dispatchViewManagerCommand","current","Commands","create","width","height"],"sources":["HmsView.tsx"],"sourcesContent":["import React, { useState, useEffect, useImperativeHandle, useRef } from 'react';\nimport {\n findNodeHandle,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n ViewStyle,\n} from 'react-native';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\n\ninterface HmsViewProps {\n data: {\n trackId: string;\n id: string;\n mirror: boolean;\n };\n setZOrderMediaOverlay: boolean;\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n onChange: Function;\n onDataReturned: Function;\n}\n\nconst HmsView = requireNativeComponent<HmsViewProps>('HmsView');\nlet _nextRequestId = 1;\nlet _requestMap = new Map();\n\ninterface HmsComponentProps {\n trackId: string;\n style?: ViewStyle;\n mirror?: boolean;\n scaleType?: HMSVideoViewMode;\n setZOrderMediaOverlay?: boolean;\n id: string;\n}\n\nexport const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(\n (props, ref) => {\n const {\n trackId,\n style = temporaryStyles.customStyle,\n id = '12345',\n mirror = false,\n setZOrderMediaOverlay = false,\n scaleType = HMSVideoViewMode.ASPECT_FILL,\n } = props;\n\n const hmsViewRef: any = useRef();\n const [tempVal, setTempVal] = useState(0);\n const data = {\n trackId,\n id,\n mirror,\n };\n\n const onChange = (values: any) => {\n console.log(values, 'values');\n setTimeout(() => {\n setTempVal(1);\n }, 2000);\n };\n\n const _onDataReturned = (event: {\n nativeEvent: { requestId: any; result: any; error: any };\n }) => {\n // We grab the relevant data out of our event.\n let { requestId, result, error } = event.nativeEvent;\n // Then we get the promise we saved earlier for the given request ID.\n let promise = _requestMap.get(requestId);\n if (result) {\n // If it was successful, we resolve the promise.\n promise.resolve(result);\n } else {\n // Otherwise, we reject it.\n promise.reject(error);\n }\n // Finally, we clean up our request map.\n _requestMap.delete(requestId);\n };\n\n const capture = async () => {\n let requestId = _nextRequestId++;\n let requestMap = _requestMap;\n\n // We create a promise here that will be resolved once `_onRequestDone` is\n // called.\n let promise = new Promise(function (resolve, reject) {\n requestMap.set(requestId, { resolve, reject });\n });\n const viewManagerConfig = UIManager.getViewManagerConfig('HmsView');\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsViewRef.current),\n viewManagerConfig.Commands.capture,\n [requestId]\n );\n return promise;\n };\n\n useImperativeHandle(ref, () => {\n return {\n capture,\n };\n });\n\n useEffect(() => {\n setTempVal(0);\n }, [tempVal]);\n\n return (\n <HmsView\n ref={hmsViewRef}\n onChange={onChange}\n data={data}\n style={tempVal === 0 ? style : temporaryStyles.customStyle}\n scaleType={scaleType}\n setZOrderMediaOverlay={setZOrderMediaOverlay}\n onDataReturned={_onDataReturned}\n />\n );\n }\n);\n\nconst temporaryStyles = StyleSheet.create({\n customStyle: {\n width: '100%',\n height: '50%',\n },\n});\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export * from './classes/HMSConfig';
2
2
  export * from './classes/HMSUpdateListenerActions';
3
3
  export * from './classes/HMSMessage';
4
- export * from './classes/HmsView';
5
4
  export * from './classes/HMSVideoTrackSettings';
6
5
  export * from './classes/HMSVideoTrack';
7
6
  export * from './classes/HMSVideoSettings';
@@ -61,6 +60,7 @@ export * from './classes/HMSHLSRecordingConfig';
61
60
  export * from './classes/HMSHLSRecordingState';
62
61
  export * from './classes/HMSMessageRecipient';
63
62
  export * from './classes/HMSMessageRecipientType';
63
+ export * from './classes/HMSNetworkQuality';
64
64
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
65
65
  export default HmsManager;
66
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["HMSSDK","HmsManager"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AACA,cAAc,wBAAd;AACA,cAAc,mCAAd;AACA,cAAc,yBAAd;AACA,cAAc,gCAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,uBAAd;AACA,cAAc,6BAAd;AACA,cAAc,+BAAd;AACA,cAAc,+BAAd;AACA,cAAc,iCAAd;AACA,cAAc,gCAAd;AACA,cAAc,+BAAd;AACA,cAAc,mCAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf","sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HmsView';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSSpeakerUpdate';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
1
+ {"version":3,"names":["HMSSDK","HmsManager"],"sources":["index.ts"],"sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSSpeakerUpdate';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\nexport * from './classes/HMSNetworkQuality';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AACA,cAAc,wBAAd;AACA,cAAc,mCAAd;AACA,cAAc,yBAAd;AACA,cAAc,gCAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,uBAAd;AACA,cAAc,6BAAd;AACA,cAAc,+BAAd;AACA,cAAc,+BAAd;AACA,cAAc,iCAAd;AACA,cAAc,gCAAd;AACA,cAAc,+BAAd;AACA,cAAc,mCAAd;AACA,cAAc,6BAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf"}
@@ -3,10 +3,12 @@ export declare class HMSConfig {
3
3
  authToken: string;
4
4
  endpoint?: string;
5
5
  metadata?: string;
6
+ captureNetworkQualityInPreview?: boolean;
6
7
  constructor(params: {
7
8
  username: string;
8
9
  authToken: string;
9
10
  endpoint?: string;
10
11
  metadata?: string;
12
+ captureNetworkQualityInPreview?: boolean;
11
13
  });
12
14
  }
@@ -19,8 +19,13 @@ import { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';
19
19
  import { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';
20
20
  import { HMSSpeaker } from './HMSSpeaker';
21
21
  import { HMSSpeakerUpdate } from './HMSSpeakerUpdate';
22
- import { HMSBrowserRecordingState, HMSHLSStreamingState, HMSHLSVariant, HMSRtmpStreamingState, HMSServerRecordingState } from '..';
23
22
  import { HMSHLSRecordingState } from './HMSHLSRecordingState';
23
+ import { HMSNetworkQuality } from './HMSNetworkQuality';
24
+ import { HMSBrowserRecordingState } from './HMSBrowserRecordingState';
25
+ import { HMSHLSStreamingState } from './HMSHLSStreamingState';
26
+ import { HMSHLSVariant } from './HMSHLSVariant';
27
+ import { HMSRtmpStreamingState } from './HMSRtmpStreamingState';
28
+ import { HMSServerRecordingState } from './HMSServerRecordingState';
24
29
  export declare class HMSEncoder {
25
30
  static encodeHmsRoom(room: HMSRoom, id: string): HMSRoom;
26
31
  static encodeHmsPeers(peers: any, id: string): HMSPeer[];
@@ -58,4 +63,5 @@ export declare class HMSEncoder {
58
63
  static encodeHLSStreamingState(data: any): HMSHLSStreamingState;
59
64
  static encodeHLSRecordingState(data: any): HMSHLSRecordingState | undefined;
60
65
  static encodeHLSVariants(data: any): HMSHLSVariant[];
66
+ static encodeHMSNetworkQuality(data: any): HMSNetworkQuality | undefined;
61
67
  }
@@ -8,6 +8,7 @@ import { HMSLocalAudioTrack } from './HMSLocalAudioTrack';
8
8
  import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
9
9
  import type { HMSRole } from './HMSRole';
10
10
  import type { HMSTrackType } from './HMSTrackType';
11
+ import type { HMSNetworkQuality } from './HMSNetworkQuality';
11
12
  export declare class HMSLocalPeer extends HMSPeer {
12
13
  private localAudio?;
13
14
  private localVideo?;
@@ -22,6 +23,7 @@ export declare class HMSLocalPeer extends HMSPeer {
22
23
  metadata?: string;
23
24
  audioTrack?: HMSAudioTrack;
24
25
  videoTrack?: HMSVideoTrack;
26
+ networkQuality?: HMSNetworkQuality;
25
27
  role?: HMSRole;
26
28
  auxiliaryTracks?: HMSTrack[];
27
29
  localAudioTrackData?: {
@@ -1,4 +1,7 @@
1
1
  import { HMSLogLevel } from './HMSLogLevel';
2
+ export declare let logger: HMSLogger | undefined;
3
+ export declare const getLogger: () => HMSLogger | undefined;
4
+ export declare const setLogger: (hmsLogger: HMSLogger, id: string) => void;
2
5
  export declare class HMSLogger {
3
6
  private _verbose;
4
7
  private _warning;
@@ -0,0 +1,6 @@
1
+ export declare class HMSNetworkQuality {
2
+ downlinkQuality: number;
3
+ constructor(params: {
4
+ downlinkQuality: number;
5
+ });
6
+ }
@@ -1,4 +1,5 @@
1
1
  import type { HMSAudioTrack } from './HMSAudioTrack';
2
+ import type { HMSNetworkQuality } from './HMSNetworkQuality';
2
3
  import type { HMSRole } from './HMSRole';
3
4
  import type { HMSTrack } from './HMSTrack';
4
5
  import type { HMSVideoTrack } from './HMSVideoTrack';
@@ -10,6 +11,7 @@ export declare class HMSPeer {
10
11
  customerDescription?: string;
11
12
  metadata?: string;
12
13
  role?: HMSRole;
14
+ networkQuality?: HMSNetworkQuality;
13
15
  audioTrack?: HMSAudioTrack;
14
16
  videoTrack?: HMSVideoTrack;
15
17
  auxiliaryTracks?: HMSTrack[];
@@ -21,6 +23,7 @@ export declare class HMSPeer {
21
23
  customerDescription?: string;
22
24
  metadata?: string;
23
25
  role?: HMSRole;
26
+ networkQuality?: HMSNetworkQuality;
24
27
  audioTrack?: HMSAudioTrack;
25
28
  videoTrack?: HMSVideoTrack;
26
29
  auxiliaryTracks?: HMSTrack[];
@@ -3,5 +3,6 @@ export declare enum HMSPeerUpdate {
3
3
  PEER_LEFT = "PEER_LEFT",
4
4
  METADATA_CHANGED = "METADATA_CHANGED",
5
5
  ROLE_CHANGED = "ROLE_CHANGED",
6
- NAME_CHANGED = "NAME_CHANGED"
6
+ NAME_CHANGED = "NAME_CHANGED",
7
+ NETWORK_QUALITY_UPDATED = "NETWORK_QUALITY_UPDATED"
7
8
  }
@@ -1,4 +1,5 @@
1
1
  import type { HMSAudioTrack } from './HMSAudioTrack';
2
+ import type { HMSNetworkQuality } from './HMSNetworkQuality';
2
3
  import { HMSPeer } from './HMSPeer';
3
4
  import { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';
4
5
  import { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';
@@ -20,6 +21,7 @@ export declare class HMSRemotePeer extends HMSPeer {
20
21
  audioTrack?: HMSAudioTrack;
21
22
  videoTrack?: HMSVideoTrack;
22
23
  role?: HMSRole;
24
+ networkQuality?: HMSNetworkQuality;
23
25
  auxiliaryTracks?: HMSTrack[];
24
26
  remoteAudioTrackData?: {
25
27
  trackId: string;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
  import { HMSUpdateListenerActions } from './HMSUpdateListenerActions';
4
4
  import type { HMSConfig } from './HMSConfig';
@@ -10,17 +10,16 @@ import type { HMSTrack } from './HMSTrack';
10
10
  import type { HMSTrackType } from './HMSTrackType';
11
11
  import type { HMSLogger } from './HMSLogger';
12
12
  import type { HMSPeer } from './HMSPeer';
13
- import { HMSVideoViewMode } from './HMSVideoViewMode';
13
+ import type { HMSVideoViewMode } from './HMSVideoViewMode';
14
14
  import type { HMSTrackSettings } from './HMSTrackSettings';
15
15
  import type { HMSRTMPConfig } from './HMSRTMPConfig';
16
16
  import type { HMSHLSConfig } from './HMSHLSConfig';
17
- interface HmsComponentProps {
17
+ interface HmsViewProps {
18
18
  trackId: string;
19
- sink: boolean;
20
- style: ViewStyle;
19
+ style?: ViewStyle;
21
20
  mirror?: boolean;
22
- scaleType: HMSVideoViewMode;
23
- id?: string | null;
21
+ scaleType?: HMSVideoViewMode;
22
+ setZOrderMediaOverlay?: boolean;
24
23
  }
25
24
  export declare class HMSSDK {
26
25
  room?: HMSRoom;
@@ -132,7 +131,6 @@ export declare class HMSSDK {
132
131
  /**
133
132
  * - HmsView is react component that takes one track and starts showing that track on a tile.
134
133
  * - The appearance of tile is completely customizable with style prop.
135
- * - setting sink true or false for a video tile will add or remove sink for a video.
136
134
  * - scale type can determine how the incoming video will fit in the canvas check {@link HMSVideoViewMode} for more information.
137
135
  *
138
136
  * checkout {@link https://www.100ms.live/docs/react-native/v2/features/render-video} for more info
@@ -140,7 +138,7 @@ export declare class HMSSDK {
140
138
  * @param {HmsComponentProps}
141
139
  * @memberof HMSSDK
142
140
  */
143
- HmsView: ({ sink, trackId, style, mirror, scaleType, }: HmsComponentProps) => JSX.Element;
141
+ HmsView: React.ForwardRefExoticComponent<HmsViewProps & React.RefAttributes<any>>;
144
142
  /**
145
143
  * Calls leave function of native sdk and session of current user is invalidated.
146
144
  *
@@ -1,13 +1,13 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
- import { HMSVideoViewMode } from '../classes/HMSVideoViewMode';
3
+ import { HMSVideoViewMode } from './HMSVideoViewMode';
4
4
  interface HmsComponentProps {
5
5
  trackId: string;
6
- sink: boolean;
7
- style: ViewStyle;
6
+ style?: ViewStyle;
8
7
  mirror?: boolean;
9
- scaleType: HMSVideoViewMode;
10
- id?: string | null;
8
+ scaleType?: HMSVideoViewMode;
9
+ setZOrderMediaOverlay?: boolean;
10
+ id: string;
11
11
  }
12
- export declare const HmsView: ({ sink, trackId, style, id, mirror, scaleType, }: HmsComponentProps) => JSX.Element;
12
+ export declare const HmsViewComponent: React.ForwardRefExoticComponent<HmsComponentProps & React.RefAttributes<any>>;
13
13
  export {};
@@ -1,7 +1,6 @@
1
1
  export * from './classes/HMSConfig';
2
2
  export * from './classes/HMSUpdateListenerActions';
3
3
  export * from './classes/HMSMessage';
4
- export * from './classes/HmsView';
5
4
  export * from './classes/HMSVideoTrackSettings';
6
5
  export * from './classes/HMSVideoTrack';
7
6
  export * from './classes/HMSVideoSettings';
@@ -61,5 +60,6 @@ export * from './classes/HMSHLSRecordingConfig';
61
60
  export * from './classes/HMSHLSRecordingState';
62
61
  export * from './classes/HMSMessageRecipient';
63
62
  export * from './classes/HMSMessageRecipientType';
63
+ export * from './classes/HMSNetworkQuality';
64
64
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
65
65
  export default HmsManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@100mslive/react-native-hms",
3
- "version": "0.9.2",
3
+ "version": "0.9.5",
4
4
  "description": "The React Native package for 100ms SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -95,7 +95,7 @@
95
95
  "prettier": "^2.0.5",
96
96
  "react-native-builder-bob": "^0.18.0",
97
97
  "release-it": "^14.2.2",
98
- "typescript": "^4.1.3"
98
+ "typescript": "^4.6.3"
99
99
  },
100
100
  "peerDependencies": {
101
101
  "react": "*",
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "HMSSDK", "0.2.8"
19
+ s.dependency "HMSSDK", "0.2.11"
20
20
  end
@@ -3,16 +3,19 @@ export class HMSConfig {
3
3
  authToken: string;
4
4
  endpoint?: string;
5
5
  metadata?: string;
6
+ captureNetworkQualityInPreview?: boolean;
6
7
 
7
8
  constructor(params: {
8
9
  username: string;
9
10
  authToken: string;
10
11
  endpoint?: string;
11
12
  metadata?: string;
13
+ captureNetworkQualityInPreview?: boolean;
12
14
  }) {
13
15
  this.username = params.username;
14
16
  this.authToken = params.authToken;
15
17
  this.endpoint = params.endpoint;
16
18
  this.metadata = params.metadata;
19
+ this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;
17
20
  }
18
21
  }
@@ -3,10 +3,8 @@ import { HMSAudioTrack } from './HMSAudioTrack';
3
3
  import { HMSVideoTrack } from './HMSVideoTrack';
4
4
  import { HMSRoom } from './HMSRoom';
5
5
  import { HMSPeer } from './HMSPeer';
6
-
7
6
  import { HMSLocalPeer } from './HMSLocalPeer';
8
7
  import { HMSRemotePeer } from './HMSRemotePeer';
9
-
10
8
  import { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
11
9
  import { HMSVideoTrackSettings } from './HMSVideoTrackSettings';
12
10
  import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
@@ -21,14 +19,13 @@ import { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';
21
19
  import { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';
22
20
  import { HMSSpeaker } from './HMSSpeaker';
23
21
  import { HMSSpeakerUpdate } from './HMSSpeakerUpdate';
24
- import {
25
- HMSBrowserRecordingState,
26
- HMSHLSStreamingState,
27
- HMSHLSVariant,
28
- HMSRtmpStreamingState,
29
- HMSServerRecordingState,
30
- } from '..';
31
22
  import { HMSHLSRecordingState } from './HMSHLSRecordingState';
23
+ import { HMSNetworkQuality } from './HMSNetworkQuality';
24
+ import { HMSBrowserRecordingState } from './HMSBrowserRecordingState';
25
+ import { HMSHLSStreamingState } from './HMSHLSStreamingState';
26
+ import { HMSHLSVariant } from './HMSHLSVariant';
27
+ import { HMSRtmpStreamingState } from './HMSRtmpStreamingState';
28
+ import { HMSServerRecordingState } from './HMSServerRecordingState';
32
29
 
33
30
  export class HMSEncoder {
34
31
  static encodeHmsRoom(room: HMSRoom, id: string) {
@@ -72,10 +69,11 @@ export class HMSEncoder {
72
69
  peerID: peer?.peerID,
73
70
  name: peer?.name,
74
71
  isLocal: peer?.isLocal,
75
- role: HMSEncoder.encodeHmsRole(peer?.role),
76
72
  customerUserID: peer?.customerUserID,
77
73
  customerDescription: peer?.customerDescription,
78
74
  metadata: peer?.metadata,
75
+ role: HMSEncoder.encodeHmsRole(peer?.role),
76
+ networkQuality: HMSEncoder.encodeHMSNetworkQuality(peer?.networkQuality),
79
77
  audioTrack: HMSEncoder.encodeHmsAudioTrack(peer?.audioTrack, id),
80
78
  videoTrack: HMSEncoder.encodeHmsVideoTrack(peer?.videoTrack, id),
81
79
  auxiliaryTracks: HMSEncoder.encodeHmsAuxiliaryTracks(
@@ -144,6 +142,7 @@ export class HMSEncoder {
144
142
  customerDescription: peer.customerDescription,
145
143
  metadata: peer.metadata,
146
144
  role: HMSEncoder.encodeHmsRole(peer?.role),
145
+ networkQuality: HMSEncoder.encodeHMSNetworkQuality(peer?.networkQuality),
147
146
  audioTrack: HMSEncoder.encodeHmsAudioTrack(peer.audioTrack, id),
148
147
  videoTrack: HMSEncoder.encodeHmsVideoTrack(peer.videoTrack, id),
149
148
  auxiliaryTracks: HMSEncoder.encodeHmsAuxiliaryTracks(
@@ -258,6 +257,7 @@ export class HMSEncoder {
258
257
  customerDescription: peer.customerDescription,
259
258
  metadata: peer.metadata,
260
259
  role: HMSEncoder.encodeHmsRole(peer?.role),
260
+ networkQuality: HMSEncoder.encodeHMSNetworkQuality(peer?.networkQuality),
261
261
  audioTrack: HMSEncoder.encodeHmsAudioTrack(peer.audioTrack, id),
262
262
  videoTrack: HMSEncoder.encodeHmsVideoTrack(peer.videoTrack, id),
263
263
  auxiliaryTracks: HMSEncoder.encodeHmsAuxiliaryTracks(
@@ -471,4 +471,14 @@ export class HMSEncoder {
471
471
 
472
472
  return variants;
473
473
  }
474
+
475
+ static encodeHMSNetworkQuality(data: any) {
476
+ if (data) {
477
+ return new HMSNetworkQuality({
478
+ downlinkQuality: data?.downlinkQuality,
479
+ });
480
+ } else {
481
+ return undefined;
482
+ }
483
+ }
474
484
  }
@@ -1,6 +1,6 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
2
  import { HMSAudioTrack } from './HMSAudioTrack';
3
- import { HMSSDK } from './HMSSDK';
3
+ import { getLogger } from './HMSLogger';
4
4
  import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
5
5
  import type { HMSTrackType } from './HMSTrackType';
6
6
 
@@ -22,7 +22,7 @@ export class HMSLocalAudioTrack extends HMSAudioTrack {
22
22
  * @memberof HMSLocalAudioTrack
23
23
  */
24
24
  setMute(isMute: boolean) {
25
- const logger = HMSSDK.getLogger();
25
+ const logger = getLogger();
26
26
  logger?.verbose('#Function setMute', {
27
27
  trackId: this.trackId,
28
28
  id: this.id,
@@ -34,7 +34,7 @@ export class HMSLocalAudioTrack extends HMSAudioTrack {
34
34
  }
35
35
 
36
36
  getVolume = async () => {
37
- const logger = HMSSDK.getLogger();
37
+ const logger = getLogger();
38
38
  logger?.verbose('#Function getVolume', {
39
39
  trackId: this.trackId,
40
40
  id: this.id,
@@ -8,6 +8,7 @@ import { HMSLocalAudioTrack } from './HMSLocalAudioTrack';
8
8
  import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
9
9
  import type { HMSRole } from './HMSRole';
10
10
  import type { HMSTrackType } from './HMSTrackType';
11
+ import type { HMSNetworkQuality } from './HMSNetworkQuality';
11
12
 
12
13
  export class HMSLocalPeer extends HMSPeer {
13
14
  private localAudio?: HMSLocalAudioTrack;
@@ -29,6 +30,7 @@ export class HMSLocalPeer extends HMSPeer {
29
30
  metadata?: string;
30
31
  audioTrack?: HMSAudioTrack;
31
32
  videoTrack?: HMSVideoTrack;
33
+ networkQuality?: HMSNetworkQuality;
32
34
  role?: HMSRole;
33
35
  auxiliaryTracks?: HMSTrack[];
34
36
  localAudioTrackData?: {
@@ -1,6 +1,6 @@
1
1
  import { NativeModules } from 'react-native';
2
2
  import { HMSVideoTrack } from './HMSVideoTrack';
3
- import { HMSSDK } from './HMSSDK';
3
+ import { getLogger } from './HMSLogger';
4
4
  import type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';
5
5
  import type { HMSTrackType } from './HMSTrackType';
6
6
 
@@ -23,7 +23,7 @@ export class HMSLocalVideoTrack extends HMSVideoTrack {
23
23
  * @memberof HMSSDK
24
24
  */
25
25
  switchCamera = () => {
26
- const logger = HMSSDK.getLogger();
26
+ const logger = getLogger();
27
27
  logger?.verbose('#Function switchCamera', {
28
28
  trackId: this.trackId,
29
29
  source: this.source,
@@ -40,7 +40,7 @@ export class HMSLocalVideoTrack extends HMSVideoTrack {
40
40
  * @memberof HMSLocalVideoTrack
41
41
  */
42
42
  setMute(isMute: boolean) {
43
- const logger = HMSSDK.getLogger();
43
+ const logger = getLogger();
44
44
  logger?.verbose('#Function setMute', {
45
45
  trackId: this.trackId,
46
46
  source: this.source,
@@ -1,5 +1,16 @@
1
1
  import { HMSLogLevel } from './HMSLogLevel';
2
2
 
3
+ export let logger: HMSLogger | undefined;
4
+
5
+ export const getLogger = () => {
6
+ return logger;
7
+ };
8
+
9
+ export const setLogger = (hmsLogger: HMSLogger, id: string) => {
10
+ logger = hmsLogger;
11
+ hmsLogger.verbose('#Function setLogger', { id });
12
+ };
13
+
3
14
  export class HMSLogger {
4
15
  private _verbose: boolean = false;
5
16
  private _warning: boolean = false;
@@ -18,7 +18,7 @@ export class HMSMessage {
18
18
  }) {
19
19
  this.message = params.message;
20
20
  this.type = params.type;
21
- this.time = new Date(params.time);
21
+ this.time = new Date(parseInt(params.time));
22
22
  this.sender = params.sender;
23
23
  this.recipient = params.recipient;
24
24
  }
@@ -0,0 +1,7 @@
1
+ export class HMSNetworkQuality {
2
+ downlinkQuality: number;
3
+
4
+ constructor(params: { downlinkQuality: number }) {
5
+ this.downlinkQuality = params.downlinkQuality;
6
+ }
7
+ }
@@ -1,4 +1,5 @@
1
1
  import type { HMSAudioTrack } from './HMSAudioTrack';
2
+ import type { HMSNetworkQuality } from './HMSNetworkQuality';
2
3
  import type { HMSRole } from './HMSRole';
3
4
  import type { HMSTrack } from './HMSTrack';
4
5
  import type { HMSVideoTrack } from './HMSVideoTrack';
@@ -11,10 +12,9 @@ export class HMSPeer {
11
12
  customerDescription?: string;
12
13
  metadata?: string;
13
14
  role?: HMSRole;
14
-
15
+ networkQuality?: HMSNetworkQuality;
15
16
  audioTrack?: HMSAudioTrack;
16
17
  videoTrack?: HMSVideoTrack;
17
-
18
18
  auxiliaryTracks?: HMSTrack[];
19
19
 
20
20
  constructor(params: {
@@ -25,6 +25,7 @@ export class HMSPeer {
25
25
  customerDescription?: string;
26
26
  metadata?: string;
27
27
  role?: HMSRole;
28
+ networkQuality?: HMSNetworkQuality;
28
29
  audioTrack?: HMSAudioTrack;
29
30
  videoTrack?: HMSVideoTrack;
30
31
  auxiliaryTracks?: HMSTrack[];
@@ -38,6 +39,7 @@ export class HMSPeer {
38
39
  this.videoTrack = params.videoTrack;
39
40
  this.auxiliaryTracks = params.auxiliaryTracks;
40
41
  this.role = params.role;
42
+ this.networkQuality = params.networkQuality;
41
43
  this.metadata = params.metadata;
42
44
  }
43
45
  }
@@ -4,4 +4,5 @@ export enum HMSPeerUpdate {
4
4
  METADATA_CHANGED = 'METADATA_CHANGED',
5
5
  ROLE_CHANGED = 'ROLE_CHANGED',
6
6
  NAME_CHANGED = 'NAME_CHANGED',
7
+ NETWORK_QUALITY_UPDATED = 'NETWORK_QUALITY_UPDATED',
7
8
  }