@100mslive/react-native-hms 0.9.4 → 0.9.7

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 (216) hide show
  1. package/README.md +3 -5
  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 +3 -3
  10. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +38 -34
  11. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +115 -75
  12. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  13. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +171 -159
  14. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +38 -17
  15. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +10 -10
  16. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  17. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  18. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +27 -26
  19. package/ios/{HmsHelper.swift → HMSHelper.swift} +13 -7
  20. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  21. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  22. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +128 -128
  23. package/ios/{HmsView.m → HMSView.m} +1 -1
  24. package/ios/{HmsView.swift → HMSView.swift} +9 -20
  25. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  27. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  29. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  30. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  31. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  32. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  33. package/lib/commonjs/classes/HMSEncoder.js +42 -17
  34. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  35. package/lib/commonjs/classes/HMSException.js.map +1 -1
  36. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  37. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  38. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  39. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  40. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  41. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  42. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  43. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  44. package/lib/commonjs/classes/HMSLocalAudioTrack.js +6 -8
  45. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  46. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  47. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalVideoTrack.js +6 -8
  49. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLogger.js +19 -1
  52. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  53. package/lib/commonjs/classes/HMSMessage.js +1 -1
  54. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  55. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  57. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  58. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  61. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  65. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +6 -8
  67. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  69. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  70. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +6 -8
  71. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  72. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  74. package/lib/commonjs/classes/HMSRoom.js +3 -0
  75. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  76. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  77. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  78. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  79. package/lib/commonjs/classes/HMSSDK.js +119 -239
  80. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  81. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  82. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  84. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  85. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  86. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  87. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  88. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  89. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  90. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  91. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  92. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  93. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  94. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  95. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  96. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  97. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  98. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  99. package/lib/commonjs/classes/HmsView.js +64 -16
  100. package/lib/commonjs/classes/HmsView.js.map +1 -1
  101. package/lib/commonjs/index.js +14 -28
  102. package/lib/commonjs/index.js.map +1 -1
  103. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  104. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  105. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  106. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  107. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  108. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  109. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  110. package/lib/module/classes/HMSConfig.js.map +1 -1
  111. package/lib/module/classes/HMSEncoder.js +30 -10
  112. package/lib/module/classes/HMSEncoder.js.map +1 -1
  113. package/lib/module/classes/HMSException.js.map +1 -1
  114. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  115. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  116. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  117. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  118. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  119. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  120. package/lib/module/classes/HMSHelper.js.map +1 -1
  121. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  122. package/lib/module/classes/HMSLocalAudioTrack.js +6 -6
  123. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  124. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  125. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  126. package/lib/module/classes/HMSLocalVideoTrack.js +6 -6
  127. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  128. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  129. package/lib/module/classes/HMSLogger.js +10 -0
  130. package/lib/module/classes/HMSLogger.js.map +1 -1
  131. package/lib/module/classes/HMSMessage.js +1 -1
  132. package/lib/module/classes/HMSMessage.js.map +1 -1
  133. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  134. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  135. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  136. package/lib/module/classes/HMSPeer.js.map +1 -1
  137. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  138. package/lib/module/classes/HMSPermissions.js.map +1 -1
  139. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  140. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  141. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  142. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  144. package/lib/module/classes/HMSRemoteAudioTrack.js +6 -6
  145. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  146. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  147. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  148. package/lib/module/classes/HMSRemoteVideoTrack.js +6 -6
  149. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  150. package/lib/module/classes/HMSRole.js.map +1 -1
  151. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  152. package/lib/module/classes/HMSRoom.js +3 -0
  153. package/lib/module/classes/HMSRoom.js.map +1 -1
  154. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  155. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  156. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  157. package/lib/module/classes/HMSSDK.js +118 -239
  158. package/lib/module/classes/HMSSDK.js.map +1 -1
  159. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  160. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  161. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  162. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  163. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  164. package/lib/module/classes/HMSTrack.js.map +1 -1
  165. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  166. package/lib/module/classes/HMSTrackSource.js +8 -0
  167. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  168. package/lib/module/classes/HMSTrackType.js.map +1 -1
  169. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  170. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  171. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  172. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  173. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  174. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  175. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  176. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  177. package/lib/module/classes/HmsView.js +62 -16
  178. package/lib/module/classes/HmsView.js.map +1 -1
  179. package/lib/module/index.js +1 -2
  180. package/lib/module/index.js.map +1 -1
  181. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  182. package/lib/typescript/classes/HMSEncoder.d.ts +9 -3
  183. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  184. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  185. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  186. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  187. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  188. package/lib/typescript/classes/HMSSDK.d.ts +6 -10
  189. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  190. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  191. package/lib/typescript/classes/HmsView.d.ts +5 -7
  192. package/lib/typescript/index.d.ts +1 -2
  193. package/package.json +2 -2
  194. package/react-native-hms.podspec +2 -2
  195. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  196. package/src/classes/HMSEncoder.ts +30 -18
  197. package/src/classes/HMSLocalAudioTrack.ts +6 -6
  198. package/src/classes/HMSLocalVideoTrack.ts +6 -6
  199. package/src/classes/HMSLogger.ts +11 -0
  200. package/src/classes/HMSMessage.ts +4 -4
  201. package/src/classes/HMSRemoteAudioTrack.ts +6 -6
  202. package/src/classes/HMSRemoteVideoTrack.ts +6 -6
  203. package/src/classes/HMSRoom.ts +3 -0
  204. package/src/classes/HMSRoomUpdate.ts +1 -3
  205. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  206. package/src/classes/HMSSDK.tsx +58 -69
  207. package/src/classes/HMSServerRecordingState.ts +2 -2
  208. package/src/classes/HMSTrackSource.ts +5 -0
  209. package/src/classes/HmsView.tsx +98 -48
  210. package/src/index.ts +1 -2
  211. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  212. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  213. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  214. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  215. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  216. package/src/classes/HMSSpeakerUpdate.ts +0 -17
@@ -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
 
@@ -8,7 +8,7 @@ const {
8
8
  /**
9
9
  * @ignore
10
10
  */
11
- HmsManager,
11
+ HMSManager,
12
12
  } = NativeModules;
13
13
 
14
14
  export class HMSLocalVideoTrack extends HMSVideoTrack {
@@ -23,14 +23,14 @@ 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,
30
30
  type: this.type,
31
31
  id: this.id,
32
32
  });
33
- HmsManager.switchCamera({ id: this.id });
33
+ HMSManager.switchCamera({ id: this.id });
34
34
  };
35
35
 
36
36
  /**
@@ -40,14 +40,14 @@ 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,
47
47
  type: this.type,
48
48
  id: this.id,
49
49
  });
50
- HmsManager.setLocalVideoMute({ isMute, id: this.id });
50
+ HMSManager.setLocalVideoMute({ isMute, id: this.id });
51
51
  }
52
52
 
53
53
  constructor(params: {
@@ -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;
@@ -6,19 +6,19 @@ export class HMSMessage {
6
6
  public message: string;
7
7
  public type: string;
8
8
  public time: Date;
9
- public sender: HMSPeer;
9
+ public sender?: HMSPeer;
10
10
  public recipient: HMSMessageRecipient;
11
11
 
12
12
  constructor(params: {
13
13
  message: string;
14
14
  type: string;
15
- time: string;
16
- sender: HMSPeer;
15
+ time: Date;
16
+ sender?: HMSPeer;
17
17
  recipient: HMSMessageRecipient;
18
18
  }) {
19
19
  this.message = params.message;
20
20
  this.type = params.type;
21
- this.time = new Date(params.time);
21
+ this.time = params.time;
22
22
  this.sender = params.sender;
23
23
  this.recipient = params.recipient;
24
24
  }
@@ -1,5 +1,5 @@
1
1
  import { NativeModules } from 'react-native';
2
- import { HMSSDK } from './HMSSDK';
2
+ import { getLogger } from './HMSLogger';
3
3
  import type { HMSTrackType } from './HMSTrackType';
4
4
  import { HMSAudioTrack } from './HMSAudioTrack';
5
5
 
@@ -7,7 +7,7 @@ const {
7
7
  /**
8
8
  * @ignore
9
9
  */
10
- HmsManager,
10
+ HMSManager,
11
11
  } = NativeModules;
12
12
 
13
13
  export class HMSRemoteAudioTrack extends HMSAudioTrack {
@@ -18,7 +18,7 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
18
18
  * @memberof HMSRemoteAudioTrack
19
19
  */
20
20
  setPlaybackAllowed(playbackAllowed: boolean) {
21
- const logger = HMSSDK.getLogger();
21
+ const logger = getLogger();
22
22
  logger?.verbose('#Function setPlaybackAllowed', {
23
23
  trackId: this.trackId,
24
24
  id: this.id,
@@ -26,7 +26,7 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
26
26
  type: this.type,
27
27
  playbackAllowed,
28
28
  });
29
- HmsManager.setPlaybackAllowed({
29
+ HMSManager.setPlaybackAllowed({
30
30
  id: this.id,
31
31
  trackId: this.trackId,
32
32
  playbackAllowed,
@@ -35,14 +35,14 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
35
35
 
36
36
  isPlaybackAllowed = async () => {
37
37
  try {
38
- const logger = HMSSDK.getLogger();
38
+ const logger = getLogger();
39
39
  logger?.verbose('#Function isPlaybackAllowed', {
40
40
  trackId: this.trackId,
41
41
  id: this.id,
42
42
  source: this.source,
43
43
  type: this.type,
44
44
  });
45
- const val = await HmsManager.isPlaybackAllowed({
45
+ const val = await HMSManager.isPlaybackAllowed({
46
46
  id: this.id,
47
47
  trackId: this.trackId,
48
48
  });
@@ -1,5 +1,5 @@
1
1
  import { NativeModules } from 'react-native';
2
- import { HMSSDK } from './HMSSDK';
2
+ import { getLogger } from './HMSLogger';
3
3
  import { HMSVideoTrack } from './HMSVideoTrack';
4
4
  import type { HMSTrackType } from './HMSTrackType';
5
5
 
@@ -7,7 +7,7 @@ const {
7
7
  /**
8
8
  * @ignore
9
9
  */
10
- HmsManager,
10
+ HMSManager,
11
11
  } = NativeModules;
12
12
 
13
13
  export class HMSRemoteVideoTrack extends HMSVideoTrack {
@@ -20,7 +20,7 @@ export class HMSRemoteVideoTrack extends HMSVideoTrack {
20
20
  * @memberof HMSRemoteVideoTrack
21
21
  */
22
22
  setPlaybackAllowed(playbackAllowed: boolean) {
23
- const logger = HMSSDK.getLogger();
23
+ const logger = getLogger();
24
24
  logger?.verbose('#Function setPlaybackAllowed', {
25
25
  trackId: this.trackId,
26
26
  id: this.id,
@@ -28,7 +28,7 @@ export class HMSRemoteVideoTrack extends HMSVideoTrack {
28
28
  type: this.type,
29
29
  playbackAllowed,
30
30
  });
31
- HmsManager.setPlaybackAllowed({
31
+ HMSManager.setPlaybackAllowed({
32
32
  id: this.id,
33
33
  trackId: this.trackId,
34
34
  playbackAllowed,
@@ -37,14 +37,14 @@ export class HMSRemoteVideoTrack extends HMSVideoTrack {
37
37
 
38
38
  isPlaybackAllowed = async () => {
39
39
  try {
40
- const logger = HMSSDK.getLogger();
40
+ const logger = getLogger();
41
41
  logger?.verbose('#Function isPlaybackAllowed', {
42
42
  trackId: this.trackId,
43
43
  id: this.id,
44
44
  source: this.source,
45
45
  type: this.type,
46
46
  });
47
- const val = await HmsManager.isPlaybackAllowed({
47
+ const val = await HMSManager.isPlaybackAllowed({
48
48
  id: this.id,
49
49
  trackId: this.trackId,
50
50
  });
@@ -7,6 +7,7 @@ import type { HMSHLSRecordingState } from './HMSHLSRecordingState';
7
7
 
8
8
  export class HMSRoom {
9
9
  id: string;
10
+ sessionId: string;
10
11
  name: string;
11
12
  metaData?: string;
12
13
  peers: HMSPeer[];
@@ -19,6 +20,7 @@ export class HMSRoom {
19
20
 
20
21
  constructor(params: {
21
22
  id: string;
23
+ sessionId: string;
22
24
  name: string;
23
25
  metaData?: string;
24
26
  peers: HMSPeer[];
@@ -30,6 +32,7 @@ export class HMSRoom {
30
32
  peerCount: number;
31
33
  }) {
32
34
  this.id = params.id;
35
+ this.sessionId = params.sessionId;
33
36
  this.name = params.name;
34
37
  this.metaData = params.metaData;
35
38
  this.peers = params.peers;
@@ -1,11 +1,9 @@
1
1
  export enum HMSRoomUpdate {
2
2
  ROOM_MUTED = 'ROOM_MUTED',
3
3
  ROOM_UNMUTED = 'ROOM_UNMUTED',
4
- ROOM_TYPE_CHANGED = 'ROOM_TYPE_CHANGED',
5
- META_DATA_CHANGED = 'META_DATA_CHANGED',
6
4
  SERVER_RECORDING_STATE_UPDATED = 'SERVER_RECORDING_STATE_UPDATED',
7
5
  RTMP_STREAMING_STATE_UPDATED = 'RTMP_STREAMING_STATE_UPDATED',
8
6
  BROWSER_RECORDING_STATE_UPDATED = 'BROWSER_RECORDING_STATE_UPDATED',
9
7
  HLS_STREAMING_STATE_UPDATED = 'HLS_STREAMING_STATE_UPDATED',
10
- ROOM_ID_UPDATED = 'ROOM_ID_UPDATED',
8
+ HLS_RECORDING_STATE_UPDATED = 'HLS_RECORDING_STATE_UPDATED',
11
9
  }
@@ -2,13 +2,13 @@ import type { HMSException } from './HMSException';
2
2
 
3
3
  export class HMSRtmpStreamingState {
4
4
  running: string;
5
- error: HMSException;
5
+ error?: HMSException;
6
6
  startedAt: Date;
7
7
  stoppedAt: Date;
8
8
 
9
9
  constructor(params: {
10
10
  running: string;
11
- error: HMSException;
11
+ error?: HMSException;
12
12
  startedAt: Date;
13
13
  stoppedAt: Date;
14
14
  }) {
@@ -7,36 +7,33 @@ import {
7
7
  AppState,
8
8
  } from 'react-native';
9
9
  import { HMSUpdateListenerActions } from './HMSUpdateListenerActions';
10
+ import { HMSEncoder } from './HMSEncoder';
11
+ import { HMSHelper } from './HMSHelper';
12
+ import { HmsViewComponent } from './HmsView';
13
+ import { HMSLocalAudioStats } from './HMSLocalAudioStats';
14
+ import { HMSLocalVideoStats } from './HMSLocalVideoStats';
15
+ import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
16
+ import { HMSRemoteAudioStats } from './HMSRemoteAudioStats';
17
+ import { logger, getLogger, setLogger } from './HMSLogger';
10
18
  import type { HMSConfig } from './HMSConfig';
11
19
  import type { HMSLocalPeer } from './HMSLocalPeer';
12
20
  import type { HMSRemotePeer } from './HMSRemotePeer';
13
21
  import type { HMSRoom } from './HMSRoom';
14
22
  import type { HMSRole } from './HMSRole';
15
- import { HMSEncoder } from './HMSEncoder';
16
- import { HMSMessage } from './HMSMessage';
17
- import { HMSHelper } from './HMSHelper';
18
23
  import type { HMSTrack } from './HMSTrack';
19
24
  import type { HMSTrackType } from './HMSTrackType';
20
25
  import type { HMSLogger } from './HMSLogger';
21
26
  import type { HMSPeer } from './HMSPeer';
22
- import { HmsView as HMSViewComponent } from './HmsView';
23
27
  import type { HMSVideoViewMode } from './HMSVideoViewMode';
24
28
  import type { HMSTrackSettings } from './HMSTrackSettings';
25
29
  import type { HMSRTMPConfig } from './HMSRTMPConfig';
26
30
  import type { HMSHLSConfig } from './HMSHLSConfig';
27
- import { HMSLocalAudioStats } from './HMSLocalAudioStats';
28
- import { HMSLocalVideoStats } from './HMSLocalVideoStats';
29
- import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
30
- import { HMSRemoteAudioStats } from './HMSRemoteAudioStats';
31
31
 
32
- interface HmsComponentProps {
32
+ interface HmsViewProps {
33
33
  trackId: string;
34
- sink: boolean;
35
- style: ViewStyle;
34
+ style?: ViewStyle;
36
35
  mirror?: boolean;
37
36
  scaleType?: HMSVideoViewMode;
38
- screenshot?: boolean;
39
- id?: string | null;
40
37
  setZOrderMediaOverlay?: boolean;
41
38
  }
42
39
 
@@ -44,15 +41,13 @@ const {
44
41
  /**
45
42
  * @ignore
46
43
  */
47
- HmsManager,
44
+ HMSManager,
48
45
  } = NativeModules;
49
46
 
50
- const HmsEventEmitter = new NativeEventEmitter(HmsManager);
47
+ const HmsEventEmitter = new NativeEventEmitter(HMSManager);
51
48
 
52
49
  let HmsSdk: HMSSDK | undefined;
53
50
 
54
- let logger: HMSLogger | undefined;
55
-
56
51
  export class HMSSDK {
57
52
  room?: HMSRoom;
58
53
  localPeer?: HMSLocalPeer;
@@ -94,7 +89,7 @@ export class HMSSDK {
94
89
  * @memberof HMSSDK
95
90
  */
96
91
  static async build(params?: { trackSettings: HMSTrackSettings }) {
97
- let id = await HmsManager.build(params?.trackSettings || {});
92
+ let id = await HMSManager.build(params?.trackSettings || {});
98
93
  HmsSdk = new HMSSDK(id);
99
94
  HmsSdk.attachPreviewListener();
100
95
  HmsSdk.attachListeners();
@@ -107,7 +102,7 @@ export class HMSSDK {
107
102
  * @memberof HMSSDK
108
103
  */
109
104
  static getLogger() {
110
- return logger;
105
+ return getLogger();
111
106
  }
112
107
 
113
108
  /**
@@ -116,8 +111,7 @@ export class HMSSDK {
116
111
  * @memberof HMSSDK
117
112
  */
118
113
  setLogger = (hmsLogger: HMSLogger) => {
119
- logger = hmsLogger;
120
- hmsLogger.verbose('#Function setLogger', { id: this.id });
114
+ setLogger(hmsLogger, this.id);
121
115
  };
122
116
 
123
117
  /**
@@ -125,8 +119,10 @@ export class HMSSDK {
125
119
  *
126
120
  * @memberof HMSSDK
127
121
  */
128
- destroy = () => {
122
+ destroy = async () => {
123
+ logger?.verbose('#Function destroy', { id: this.id });
129
124
  this.removeListeners();
125
+ return await HMSManager.destroy({ id: this.id });
130
126
  };
131
127
 
132
128
  /**
@@ -338,7 +334,7 @@ export class HMSSDK {
338
334
  join = async (config: HMSConfig) => {
339
335
  logger?.verbose('#Function join', { config, id: this.id });
340
336
  this.addAppStateListener();
341
- await HmsManager.join({ ...config, id: this.id });
337
+ await HMSManager.join({ ...config, id: this.id });
342
338
  };
343
339
 
344
340
  /**
@@ -352,7 +348,7 @@ export class HMSSDK {
352
348
  */
353
349
  preview = (config: HMSConfig) => {
354
350
  logger?.verbose('#Function preview', { config, id: this.id });
355
- HmsManager.preview({ ...config, id: this.id });
351
+ HMSManager.preview({ ...config, id: this.id });
356
352
  };
357
353
 
358
354
  /**
@@ -372,7 +368,7 @@ export class HMSSDK {
372
368
  id: this.id,
373
369
  });
374
370
  if (Platform.OS === 'ios') {
375
- return await HmsManager.previewForRole({ role: role?.name, id: this.id });
371
+ return await HMSManager.previewForRole({ role: role?.name, id: this.id });
376
372
  } else {
377
373
  console.log('API currently not available for android');
378
374
  return 'API currently not available for android';
@@ -382,7 +378,6 @@ export class HMSSDK {
382
378
  /**
383
379
  * - HmsView is react component that takes one track and starts showing that track on a tile.
384
380
  * - The appearance of tile is completely customizable with style prop.
385
- * - setting sink true or false for a video tile will add or remove sink for a video.
386
381
  * - scale type can determine how the incoming video will fit in the canvas check {@link HMSVideoViewMode} for more information.
387
382
  *
388
383
  * checkout {@link https://www.100ms.live/docs/react-native/v2/features/render-video} for more info
@@ -390,28 +385,20 @@ export class HMSSDK {
390
385
  * @param {HmsComponentProps}
391
386
  * @memberof HMSSDK
392
387
  */
393
- HmsView = ({
394
- sink,
395
- trackId,
396
- style,
397
- mirror,
398
- scaleType,
399
- screenshot,
400
- setZOrderMediaOverlay,
401
- }: HmsComponentProps) => {
388
+ HmsView = React.forwardRef<any, HmsViewProps>((props, ref) => {
389
+ const { trackId, style, mirror, scaleType, setZOrderMediaOverlay } = props;
402
390
  return (
403
- <HMSViewComponent
404
- sink={sink}
391
+ <HmsViewComponent
392
+ ref={ref}
405
393
  trackId={trackId}
406
394
  style={style}
407
395
  setZOrderMediaOverlay={setZOrderMediaOverlay}
408
396
  mirror={mirror}
409
397
  scaleType={scaleType}
410
398
  id={this.id}
411
- screenshot={screenshot}
412
399
  />
413
400
  );
414
- };
401
+ });
415
402
 
416
403
  /**
417
404
  * Calls leave function of native sdk and session of current user is invalidated.
@@ -426,7 +413,7 @@ export class HMSSDK {
426
413
  id: this.id,
427
414
  };
428
415
 
429
- const op = await HmsManager.leave(data);
416
+ const op = await HMSManager.leave(data);
430
417
  this.muteStatus = undefined;
431
418
  this.localPeer = undefined;
432
419
  this.remotePeers = undefined;
@@ -450,7 +437,7 @@ export class HMSSDK {
450
437
  type: type || null,
451
438
  id: this.id,
452
439
  });
453
- return await HmsManager.sendBroadcastMessage({
440
+ return await HMSManager.sendBroadcastMessage({
454
441
  message,
455
442
  type: type || null,
456
443
  id: this.id,
@@ -476,7 +463,7 @@ export class HMSSDK {
476
463
  id: this.id,
477
464
  type: type || null,
478
465
  });
479
- return await HmsManager.sendGroupMessage({
466
+ return await HMSManager.sendGroupMessage({
480
467
  message,
481
468
  roles: HMSHelper.getRoleNames(roles),
482
469
  id: this.id,
@@ -503,7 +490,7 @@ export class HMSSDK {
503
490
  id: this.id,
504
491
  type: type || null,
505
492
  });
506
- return await HmsManager.sendDirectMessage({
493
+ return await HMSManager.sendDirectMessage({
507
494
  message,
508
495
  peerId: peer.peerID,
509
496
  id: this.id,
@@ -525,7 +512,7 @@ export class HMSSDK {
525
512
  */
526
513
  changeMetadata = (metadata: string) => {
527
514
  logger?.verbose('#Function changeMetadata', { metadata, id: this.id });
528
- HmsManager.changeMetadata({ metadata, id: this.id });
515
+ HMSManager.changeMetadata({ metadata, id: this.id });
529
516
  };
530
517
 
531
518
  /**
@@ -543,7 +530,7 @@ export class HMSSDK {
543
530
  id: this.id,
544
531
  });
545
532
 
546
- const op = await HmsManager.startRTMPOrRecording({ ...data, id: this.id });
533
+ const op = await HMSManager.startRTMPOrRecording({ ...data, id: this.id });
547
534
  return op;
548
535
  };
549
536
 
@@ -557,7 +544,7 @@ export class HMSSDK {
557
544
  */
558
545
  stopRtmpAndRecording = async () => {
559
546
  logger?.verbose('#Function stopRtmpAndRecording', {});
560
- const op = await HmsManager.stopRtmpAndRecording({ id: this.id });
547
+ const op = await HMSManager.stopRtmpAndRecording({ id: this.id });
561
548
  return op;
562
549
  };
563
550
 
@@ -575,7 +562,7 @@ export class HMSSDK {
575
562
  ...data,
576
563
  id: this.id,
577
564
  });
578
- return await HmsManager.startHLSStreaming({ ...data, id: this.id });
565
+ return await HMSManager.startHLSStreaming({ ...data, id: this.id });
579
566
  };
580
567
 
581
568
  /**
@@ -588,7 +575,7 @@ export class HMSSDK {
588
575
  */
589
576
  stopHLSStreaming = async () => {
590
577
  logger?.verbose('#Function stopHLSStreaming', {});
591
- return await HmsManager.stopHLSStreaming({ id: this.id });
578
+ return await HMSManager.stopHLSStreaming({ id: this.id });
592
579
  };
593
580
 
594
581
  /**
@@ -613,7 +600,7 @@ export class HMSSDK {
613
600
  id: this.id,
614
601
  };
615
602
  logger?.verbose('#Function changeRole', data);
616
- return await HmsManager.changeRole(data);
603
+ return await HMSManager.changeRole(data);
617
604
  };
618
605
 
619
606
  /**
@@ -637,7 +624,7 @@ export class HMSSDK {
637
624
  id: this.id,
638
625
  };
639
626
 
640
- return await HmsManager.changeTrackState(data);
627
+ return await HMSManager.changeTrackState(data);
641
628
  };
642
629
 
643
630
  /**
@@ -673,7 +660,7 @@ export class HMSSDK {
673
660
  id: this.id,
674
661
  };
675
662
 
676
- return await HmsManager.changeTrackStateForRoles(data);
663
+ return await HMSManager.changeTrackStateForRoles(data);
677
664
  };
678
665
 
679
666
  /**
@@ -696,7 +683,7 @@ export class HMSSDK {
696
683
  id: this.id,
697
684
  };
698
685
 
699
- return await HmsManager.removePeer(data);
686
+ return await HMSManager.removePeer(data);
700
687
  };
701
688
 
702
689
  /**
@@ -716,7 +703,7 @@ export class HMSSDK {
716
703
  id: this.id,
717
704
  };
718
705
 
719
- return await HmsManager.endRoom(data);
706
+ return await HMSManager.endRoom(data);
720
707
  };
721
708
 
722
709
  /**
@@ -733,7 +720,7 @@ export class HMSSDK {
733
720
  id: this.id,
734
721
  };
735
722
 
736
- return await HmsManager.changeName(data);
723
+ return await HMSManager.changeName(data);
737
724
  };
738
725
 
739
726
  /**
@@ -745,7 +732,7 @@ export class HMSSDK {
745
732
  */
746
733
  acceptRoleChange = async () => {
747
734
  logger?.verbose('#Function acceptRoleChange', { id: this.id });
748
- return await HmsManager.acceptRoleChange({ id: this.id });
735
+ return await HMSManager.acceptRoleChange({ id: this.id });
749
736
  };
750
737
 
751
738
  /**
@@ -759,7 +746,7 @@ export class HMSSDK {
759
746
  setPlaybackForAllAudio = (mute: boolean) => {
760
747
  logger?.verbose('#Function setPlaybackForAllAudio', { mute, id: this.id });
761
748
  this.muteStatus = mute;
762
- HmsManager.setPlaybackForAllAudio({ mute, id: this.id });
749
+ HMSManager.setPlaybackForAllAudio({ mute, id: this.id });
763
750
  };
764
751
 
765
752
  /**
@@ -769,7 +756,7 @@ export class HMSSDK {
769
756
  */
770
757
  remoteMuteAllAudio = () => {
771
758
  logger?.verbose('#Function remoteMuteAllAudio', { id: this.id });
772
- HmsManager.remoteMuteAllAudio({ id: this.id });
759
+ HMSManager.remoteMuteAllAudio({ id: this.id });
773
760
  };
774
761
 
775
762
  /**
@@ -786,7 +773,7 @@ export class HMSSDK {
786
773
  roomID: this.room?.id,
787
774
  id: this.id,
788
775
  });
789
- const hmsRoom = await HmsManager.getRoom({ id: this.id });
776
+ const hmsRoom = await HMSManager.getRoom({ id: this.id });
790
777
 
791
778
  const encodedHmsRoom = HMSEncoder.encodeHmsRoom(hmsRoom, this.id);
792
779
  return encodedHmsRoom;
@@ -805,7 +792,7 @@ export class HMSSDK {
805
792
  volume,
806
793
  id: this.id,
807
794
  });
808
- HmsManager.setVolume({
795
+ HMSManager.setVolume({
809
796
  id: this.id,
810
797
  trackId: track.trackId,
811
798
  volume,
@@ -814,7 +801,7 @@ export class HMSSDK {
814
801
 
815
802
  resetVolume = () => {
816
803
  logger?.verbose('#Function resetVolume', { id: this.id });
817
- if (Platform.OS === 'android') HmsManager.resetVolume({ id: this.id });
804
+ if (Platform.OS === 'android') HMSManager.resetVolume({ id: this.id });
818
805
  };
819
806
 
820
807
  /**
@@ -846,7 +833,7 @@ export class HMSSDK {
846
833
  startScreenshare = async () => {
847
834
  logger?.verbose('#Function startScreenshare', { id: this.id });
848
835
  if (Platform.OS === 'android') {
849
- return await HmsManager.startScreenshare({ id: this.id });
836
+ return await HMSManager.startScreenshare({ id: this.id });
850
837
  } else {
851
838
  console.log('API currently not available for iOS');
852
839
  return 'API currently not available for iOS';
@@ -863,7 +850,7 @@ export class HMSSDK {
863
850
  isScreenShared = async () => {
864
851
  logger?.verbose('#Function isScreenShared', { id: this.id });
865
852
  if (Platform.OS === 'android') {
866
- return await HmsManager.isScreenShared({ id: this.id });
853
+ return await HMSManager.isScreenShared({ id: this.id });
867
854
  } else {
868
855
  console.log('API currently not available for iOS');
869
856
  return 'API currently not available for iOS';
@@ -880,7 +867,7 @@ export class HMSSDK {
880
867
  stopScreenshare = async () => {
881
868
  logger?.verbose('#Function stopScreenshare', { id: this.id });
882
869
  if (Platform.OS === 'android') {
883
- return await HmsManager.stopScreenshare({ id: this.id });
870
+ return await HMSManager.stopScreenshare({ id: this.id });
884
871
  } else {
885
872
  console.log('API currently not available for iOS');
886
873
  return 'API currently not available for iOS';
@@ -902,7 +889,7 @@ export class HMSSDK {
902
889
  enableRTCStats = () => {
903
890
  logger?.verbose('#Function enableRTCStats', { id: this.id });
904
891
  if (Platform.OS === 'ios') {
905
- HmsManager.enableRTCStats({ id: this.id });
892
+ HMSManager.enableRTCStats({ id: this.id });
906
893
  } else {
907
894
  console.log('API currently not avaialble for android');
908
895
  }
@@ -919,7 +906,7 @@ export class HMSSDK {
919
906
  disableRTCStats = () => {
920
907
  logger?.verbose('#Function disableRTCStats', { id: this.id });
921
908
  if (Platform.OS === 'ios') {
922
- HmsManager.disableRTCStats({ id: this.id });
909
+ HMSManager.disableRTCStats({ id: this.id });
923
910
  } else {
924
911
  console.log('API currently not avaialble for android');
925
912
  }
@@ -1252,7 +1239,7 @@ export class HMSSDK {
1252
1239
  return;
1253
1240
  }
1254
1241
  logger?.verbose('#Listener ON_MESSAGE', data);
1255
- const message = new HMSMessage(data);
1242
+ const message = HMSEncoder.encodeHMSMessage(data, this.id);
1256
1243
  if (this.onMessageDelegate) {
1257
1244
  logger?.verbose('#Listener ON_MESSAGE_LISTENER_CALL', message);
1258
1245
  this.onMessageDelegate(message);
@@ -1263,10 +1250,12 @@ export class HMSSDK {
1263
1250
  if (data.id !== this.id) {
1264
1251
  return;
1265
1252
  }
1266
- logger?.verbose('#Listener ON_SPEAKER', data);
1253
+ logger?.verbose('#Listener ON_SPEAKER', data?.speakers);
1267
1254
  if (this.onSpeakerDelegate) {
1268
- logger?.verbose('#Listener ON_SPEAKER_LISTENER_CALL', data);
1269
- this.onSpeakerDelegate(HMSEncoder.encodeHmsSpeakerUpdate(data, this.id));
1255
+ logger?.verbose('#Listener ON_SPEAKER_LISTENER_CALL', data?.speakers);
1256
+ this.onSpeakerDelegate(
1257
+ HMSEncoder.encodeHmsSpeakers(data?.speakers, this.id)
1258
+ );
1270
1259
  }
1271
1260
  };
1272
1261
 
@@ -2,12 +2,12 @@ import type { HMSException } from './HMSException';
2
2
 
3
3
  export class HMSServerRecordingState {
4
4
  running: string;
5
- error: HMSException;
5
+ error?: HMSException;
6
6
  startedAt: Date;
7
7
 
8
8
  constructor(params: {
9
9
  running: string;
10
- error: HMSException;
10
+ error?: HMSException;
11
11
  startedAt: Date;
12
12
  }) {
13
13
  this.running = params.running;
@@ -0,0 +1,5 @@
1
+ export enum HMSTrackSource {
2
+ PLUGIN = 'plugin',
3
+ REGULAR = 'regular',
4
+ SCREEN = 'screen',
5
+ }