@100mslive/react-native-hms 0.9.4 → 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 (181) 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/HmsHelper.kt +80 -73
  11. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +1 -1
  12. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +9 -9
  13. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +29 -8
  14. package/ios/HmsView.swift +2 -14
  15. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  16. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  17. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  18. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  19. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  20. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  21. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  22. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  23. package/lib/commonjs/classes/HMSEncoder.js +15 -7
  24. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  25. package/lib/commonjs/classes/HMSException.js.map +1 -1
  26. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  27. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  28. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  29. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  30. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  31. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  32. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  33. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  34. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -5
  35. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  36. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  37. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  38. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -5
  39. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  40. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  41. package/lib/commonjs/classes/HMSLogger.js +19 -1
  42. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  43. package/lib/commonjs/classes/HMSMessage.js +1 -1
  44. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  45. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  46. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  47. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  48. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  49. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  50. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  51. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  52. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  53. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  54. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  55. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  56. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -5
  57. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  58. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  59. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  60. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -5
  61. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  65. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  67. package/lib/commonjs/classes/HMSSDK.js +77 -202
  68. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  69. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  70. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  71. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  72. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  73. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
  74. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  75. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  76. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  77. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  78. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  79. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  80. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  81. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  82. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  84. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  85. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  86. package/lib/commonjs/classes/HmsView.js +64 -16
  87. package/lib/commonjs/classes/HmsView.js.map +1 -1
  88. package/lib/commonjs/index.js +0 -14
  89. package/lib/commonjs/index.js.map +1 -1
  90. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  91. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  92. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  93. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  94. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  95. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  96. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  97. package/lib/module/classes/HMSConfig.js.map +1 -1
  98. package/lib/module/classes/HMSEncoder.js +5 -1
  99. package/lib/module/classes/HMSEncoder.js.map +1 -1
  100. package/lib/module/classes/HMSException.js.map +1 -1
  101. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  102. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  103. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  104. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  105. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  106. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  107. package/lib/module/classes/HMSHelper.js.map +1 -1
  108. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  109. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  110. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  111. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  112. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  113. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  114. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  115. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  116. package/lib/module/classes/HMSLogger.js +10 -0
  117. package/lib/module/classes/HMSLogger.js.map +1 -1
  118. package/lib/module/classes/HMSMessage.js +1 -1
  119. package/lib/module/classes/HMSMessage.js.map +1 -1
  120. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  121. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  122. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  123. package/lib/module/classes/HMSPeer.js.map +1 -1
  124. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  125. package/lib/module/classes/HMSPermissions.js.map +1 -1
  126. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  127. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  128. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  129. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  130. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  131. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  132. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  133. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  134. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  135. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  136. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  137. package/lib/module/classes/HMSRole.js.map +1 -1
  138. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  139. package/lib/module/classes/HMSRoom.js.map +1 -1
  140. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  141. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  142. package/lib/module/classes/HMSSDK.js +77 -203
  143. package/lib/module/classes/HMSSDK.js.map +1 -1
  144. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  145. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  146. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  147. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  148. package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
  149. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  150. package/lib/module/classes/HMSTrack.js.map +1 -1
  151. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  152. package/lib/module/classes/HMSTrackType.js.map +1 -1
  153. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  154. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  155. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  156. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  157. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  158. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  159. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  160. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  161. package/lib/module/classes/HmsView.js +62 -16
  162. package/lib/module/classes/HmsView.js.map +1 -1
  163. package/lib/module/index.js +0 -1
  164. package/lib/module/index.js.map +1 -1
  165. package/lib/typescript/classes/HMSEncoder.d.ts +5 -1
  166. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  167. package/lib/typescript/classes/HMSSDK.d.ts +4 -8
  168. package/lib/typescript/classes/HmsView.d.ts +5 -7
  169. package/lib/typescript/index.d.ts +0 -1
  170. package/package.json +2 -2
  171. package/react-native-hms.podspec +1 -1
  172. package/src/classes/HMSEncoder.ts +5 -9
  173. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  174. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  175. package/src/classes/HMSLogger.ts +11 -0
  176. package/src/classes/HMSMessage.ts +1 -1
  177. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  178. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  179. package/src/classes/HMSSDK.tsx +18 -32
  180. package/src/classes/HmsView.tsx +98 -48
  181. package/src/index.ts +0 -1
@@ -1,74 +1,124 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { requireNativeComponent, StyleSheet, ViewStyle } from 'react-native';
3
- import { HMSVideoViewMode } from '../classes/HMSVideoViewMode';
1
+ import React, { useState, useEffect, useImperativeHandle, useRef } from 'react';
2
+ import {
3
+ findNodeHandle,
4
+ requireNativeComponent,
5
+ StyleSheet,
6
+ UIManager,
7
+ ViewStyle,
8
+ } from 'react-native';
9
+ import { HMSVideoViewMode } from './HMSVideoViewMode';
4
10
 
5
11
  interface HmsViewProps {
6
12
  data: {
7
13
  trackId: string;
8
- sink: boolean;
9
- id?: string | null;
14
+ id: string;
10
15
  mirror: boolean;
11
16
  };
12
17
  setZOrderMediaOverlay: boolean;
13
18
  scaleType: HMSVideoViewMode;
14
- screenshot: boolean;
15
19
  style: ViewStyle;
16
20
  onChange: Function;
21
+ onDataReturned: Function;
17
22
  }
18
23
 
19
- const HmsViewComponent = requireNativeComponent<HmsViewProps>('HmsView');
24
+ const HmsView = requireNativeComponent<HmsViewProps>('HmsView');
25
+ let _nextRequestId = 1;
26
+ let _requestMap = new Map();
20
27
 
21
28
  interface HmsComponentProps {
22
29
  trackId: string;
23
- sink: boolean;
24
- style: ViewStyle;
30
+ style?: ViewStyle;
25
31
  mirror?: boolean;
26
32
  scaleType?: HMSVideoViewMode;
27
33
  setZOrderMediaOverlay?: boolean;
28
- screenshot?: boolean;
29
- id?: string | null;
34
+ id: string;
30
35
  }
31
36
 
32
- export const HmsView = ({
33
- sink,
34
- trackId,
35
- style,
36
- id = null,
37
- mirror = false,
38
- setZOrderMediaOverlay = false,
39
- scaleType = HMSVideoViewMode.ASPECT_FILL,
40
- screenshot = false,
41
- }: HmsComponentProps) => {
42
- const [tempVal, setTempVal] = useState(0);
43
- const data = {
44
- trackId,
45
- sink,
46
- id,
47
- mirror,
48
- };
37
+ export const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(
38
+ (props, ref) => {
39
+ const {
40
+ trackId,
41
+ style = temporaryStyles.customStyle,
42
+ id = '12345',
43
+ mirror = false,
44
+ setZOrderMediaOverlay = false,
45
+ scaleType = HMSVideoViewMode.ASPECT_FILL,
46
+ } = props;
49
47
 
50
- const onChange = (values: any) => {
51
- console.log(values, 'values');
52
- setTimeout(() => {
53
- setTempVal(1);
54
- }, 2000);
55
- };
48
+ const hmsViewRef: any = useRef();
49
+ const [tempVal, setTempVal] = useState(0);
50
+ const data = {
51
+ trackId,
52
+ id,
53
+ mirror,
54
+ };
55
+
56
+ const onChange = (values: any) => {
57
+ console.log(values, 'values');
58
+ setTimeout(() => {
59
+ setTempVal(1);
60
+ }, 2000);
61
+ };
62
+
63
+ const _onDataReturned = (event: {
64
+ nativeEvent: { requestId: any; result: any; error: any };
65
+ }) => {
66
+ // We grab the relevant data out of our event.
67
+ let { requestId, result, error } = event.nativeEvent;
68
+ // Then we get the promise we saved earlier for the given request ID.
69
+ let promise = _requestMap.get(requestId);
70
+ if (result) {
71
+ // If it was successful, we resolve the promise.
72
+ promise.resolve(result);
73
+ } else {
74
+ // Otherwise, we reject it.
75
+ promise.reject(error);
76
+ }
77
+ // Finally, we clean up our request map.
78
+ _requestMap.delete(requestId);
79
+ };
80
+
81
+ const capture = async () => {
82
+ let requestId = _nextRequestId++;
83
+ let requestMap = _requestMap;
84
+
85
+ // We create a promise here that will be resolved once `_onRequestDone` is
86
+ // called.
87
+ let promise = new Promise(function (resolve, reject) {
88
+ requestMap.set(requestId, { resolve, reject });
89
+ });
90
+ const viewManagerConfig = UIManager.getViewManagerConfig('HmsView');
91
+ UIManager.dispatchViewManagerCommand(
92
+ findNodeHandle(hmsViewRef.current),
93
+ viewManagerConfig.Commands.capture,
94
+ [requestId]
95
+ );
96
+ return promise;
97
+ };
98
+
99
+ useImperativeHandle(ref, () => {
100
+ return {
101
+ capture,
102
+ };
103
+ });
56
104
 
57
- useEffect(() => {
58
- setTempVal(0);
59
- }, [tempVal]);
105
+ useEffect(() => {
106
+ setTempVal(0);
107
+ }, [tempVal]);
60
108
 
61
- return (
62
- <HmsViewComponent
63
- onChange={onChange}
64
- data={data}
65
- style={tempVal === 0 ? style : temporaryStyles.customStyle}
66
- scaleType={scaleType}
67
- setZOrderMediaOverlay={setZOrderMediaOverlay}
68
- screenshot={screenshot}
69
- />
70
- );
71
- };
109
+ return (
110
+ <HmsView
111
+ ref={hmsViewRef}
112
+ onChange={onChange}
113
+ data={data}
114
+ style={tempVal === 0 ? style : temporaryStyles.customStyle}
115
+ scaleType={scaleType}
116
+ setZOrderMediaOverlay={setZOrderMediaOverlay}
117
+ onDataReturned={_onDataReturned}
118
+ />
119
+ );
120
+ }
121
+ );
72
122
 
73
123
  const temporaryStyles = StyleSheet.create({
74
124
  customStyle: {
package/src/index.ts CHANGED
@@ -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';