@100mslive/react-native-hms 1.1.1 → 1.3.0

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 (312) hide show
  1. package/README.md +145 -340
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +292 -94
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +127 -127
  5. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +167 -115
  6. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +283 -45
  7. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +7 -7
  8. package/ios/HMSDecoder.swift +276 -137
  9. package/ios/HMSHelper.swift +3 -3
  10. package/ios/HMSManager.m +7 -0
  11. package/ios/HMSManager.swift +37 -2
  12. package/ios/HMSRNSDK.swift +339 -97
  13. package/ios/HMSView.m +2 -0
  14. package/ios/HMSView.swift +35 -3
  15. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. package/lib/commonjs/classes/HMSAudioCodec.js +4 -4
  17. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  18. package/lib/commonjs/classes/HMSAudioDevice.js +4 -4
  19. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  20. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  21. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  22. package/lib/commonjs/classes/HMSAudioMixingMode.js +4 -4
  23. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  24. package/lib/commonjs/classes/HMSAudioMode.js +4 -4
  25. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioNode.js +2 -1
  27. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  29. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  30. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  31. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  32. package/lib/commonjs/classes/HMSCameraFacing.js +4 -4
  33. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  34. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  35. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  36. package/lib/commonjs/classes/HMSConstants.js +11 -0
  37. package/lib/commonjs/classes/HMSConstants.js.map +1 -0
  38. package/lib/commonjs/classes/HMSEncoder.js +129 -102
  39. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  40. package/lib/commonjs/classes/HMSException.js.map +1 -1
  41. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  42. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  43. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  44. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  45. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  46. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  47. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  49. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLocalPeer.js +0 -1
  51. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  52. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  53. package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -2
  54. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  55. package/lib/commonjs/classes/HMSLogAlarmManager.js +4 -4
  56. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  57. package/lib/commonjs/classes/HMSLogLevel.js +4 -4
  58. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  59. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
  60. package/lib/commonjs/classes/HMSLogger.js +17 -25
  61. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  62. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  63. package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
  64. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  65. package/lib/commonjs/classes/HMSMessageRecipientType.js +4 -4
  66. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  67. package/lib/commonjs/classes/HMSMessageType.js +4 -4
  68. package/lib/commonjs/classes/HMSMessageType.js.map +1 -1
  69. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  70. package/lib/commonjs/classes/HMSNativeEventEmitter.js +101 -0
  71. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -0
  72. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  73. package/lib/commonjs/classes/HMSPIPListenerActions.js +4 -4
  74. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  75. package/lib/commonjs/classes/HMSPeer.js +69 -18
  76. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  77. package/lib/commonjs/classes/HMSPeerUpdate.js +7 -5
  78. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  79. package/lib/commonjs/classes/HMSPeersCache.js +229 -0
  80. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -0
  81. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  82. package/lib/commonjs/classes/HMSPublishSettings.js +0 -6
  83. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  84. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  85. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  86. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  87. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  88. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  89. package/lib/commonjs/classes/HMSRemotePeer.js +0 -1
  90. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  91. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  92. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  93. package/lib/commonjs/classes/HMSRole.js +0 -6
  94. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  95. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -1
  96. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  97. package/lib/commonjs/classes/HMSRoom.js +79 -22
  98. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  99. package/lib/commonjs/classes/HMSRoomCache.js +128 -0
  100. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -0
  101. package/lib/commonjs/classes/HMSRoomUpdate.js +4 -4
  102. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  103. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  104. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  105. package/lib/commonjs/classes/HMSSDK.js +933 -158
  106. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  107. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  108. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  109. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  110. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  111. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  112. package/lib/commonjs/classes/HMSSubscribeSettings.js +0 -2
  113. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  114. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  115. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  116. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +4 -4
  117. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  118. package/lib/commonjs/classes/HMSTrackSource.js +4 -4
  119. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  120. package/lib/commonjs/classes/HMSTrackType.js +4 -4
  121. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  122. package/lib/commonjs/classes/HMSTrackUpdate.js +4 -4
  123. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  124. package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -5
  125. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  126. package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
  127. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  128. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  129. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  130. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  131. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  132. package/lib/commonjs/classes/HMSVideoViewMode.js +4 -4
  133. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  134. package/lib/commonjs/classes/HmsView.js +2 -1
  135. package/lib/commonjs/classes/HmsView.js.map +1 -1
  136. package/lib/commonjs/index.js.map +1 -1
  137. package/lib/module/classes/HMSAudioCodec.js +3 -3
  138. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  139. package/lib/module/classes/HMSAudioDevice.js +3 -3
  140. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  141. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  142. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  143. package/lib/module/classes/HMSAudioMixingMode.js +3 -3
  144. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  145. package/lib/module/classes/HMSAudioMode.js +3 -3
  146. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  147. package/lib/module/classes/HMSAudioNode.js +2 -1
  148. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  149. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  150. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  151. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  152. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  153. package/lib/module/classes/HMSCameraFacing.js +3 -3
  154. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  155. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  156. package/lib/module/classes/HMSConfig.js.map +1 -1
  157. package/lib/module/classes/HMSConstants.js +4 -0
  158. package/lib/module/classes/HMSConstants.js.map +1 -0
  159. package/lib/module/classes/HMSEncoder.js +129 -102
  160. package/lib/module/classes/HMSEncoder.js.map +1 -1
  161. package/lib/module/classes/HMSException.js.map +1 -1
  162. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  163. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  164. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  165. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  166. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  167. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  168. package/lib/module/classes/HMSHelper.js.map +1 -1
  169. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  170. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  171. package/lib/module/classes/HMSLocalPeer.js +0 -1
  172. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  173. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  174. package/lib/module/classes/HMSLocalVideoTrack.js +0 -2
  175. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  176. package/lib/module/classes/HMSLogAlarmManager.js +3 -3
  177. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
  178. package/lib/module/classes/HMSLogLevel.js +3 -3
  179. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  180. package/lib/module/classes/HMSLogSettings.js.map +1 -1
  181. package/lib/module/classes/HMSLogger.js +17 -25
  182. package/lib/module/classes/HMSLogger.js.map +1 -1
  183. package/lib/module/classes/HMSMessage.js.map +1 -1
  184. package/lib/module/classes/HMSMessageRecipient.js +1 -1
  185. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  186. package/lib/module/classes/HMSMessageRecipientType.js +3 -3
  187. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  188. package/lib/module/classes/HMSMessageType.js +3 -3
  189. package/lib/module/classes/HMSMessageType.js.map +1 -1
  190. package/lib/module/classes/HMSMicNode.js.map +1 -1
  191. package/lib/module/classes/HMSNativeEventEmitter.js +94 -0
  192. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -0
  193. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  194. package/lib/module/classes/HMSPIPListenerActions.js +3 -3
  195. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  196. package/lib/module/classes/HMSPeer.js +69 -18
  197. package/lib/module/classes/HMSPeer.js.map +1 -1
  198. package/lib/module/classes/HMSPeerUpdate.js +4 -3
  199. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  200. package/lib/module/classes/HMSPeersCache.js +216 -0
  201. package/lib/module/classes/HMSPeersCache.js.map +1 -0
  202. package/lib/module/classes/HMSPermissions.js.map +1 -1
  203. package/lib/module/classes/HMSPublishSettings.js +0 -6
  204. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  205. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  206. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  207. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  208. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  209. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  210. package/lib/module/classes/HMSRemotePeer.js +0 -1
  211. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  212. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  213. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  214. package/lib/module/classes/HMSRole.js +0 -6
  215. package/lib/module/classes/HMSRole.js.map +1 -1
  216. package/lib/module/classes/HMSRoleChangeRequest.js +3 -1
  217. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  218. package/lib/module/classes/HMSRoom.js +79 -22
  219. package/lib/module/classes/HMSRoom.js.map +1 -1
  220. package/lib/module/classes/HMSRoomCache.js +115 -0
  221. package/lib/module/classes/HMSRoomCache.js.map +1 -0
  222. package/lib/module/classes/HMSRoomUpdate.js +3 -3
  223. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  224. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  225. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  226. package/lib/module/classes/HMSSDK.js +934 -159
  227. package/lib/module/classes/HMSSDK.js.map +1 -1
  228. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  229. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  230. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  231. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  232. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  233. package/lib/module/classes/HMSSubscribeSettings.js +0 -2
  234. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  235. package/lib/module/classes/HMSTrack.js.map +1 -1
  236. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  237. package/lib/module/classes/HMSTrackSettingsInitState.js +3 -3
  238. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
  239. package/lib/module/classes/HMSTrackSource.js +3 -3
  240. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  241. package/lib/module/classes/HMSTrackType.js +3 -3
  242. package/lib/module/classes/HMSTrackType.js.map +1 -1
  243. package/lib/module/classes/HMSTrackUpdate.js +3 -3
  244. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  245. package/lib/module/classes/HMSUpdateListenerActions.js +4 -4
  246. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  247. package/lib/module/classes/HMSVideoCodec.js +3 -3
  248. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  249. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  250. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  251. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  252. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  253. package/lib/module/classes/HMSVideoViewMode.js +3 -3
  254. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  255. package/lib/module/classes/HmsView.js +2 -1
  256. package/lib/module/classes/HmsView.js.map +1 -1
  257. package/lib/module/index.js.map +1 -1
  258. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -4
  259. package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -2
  260. package/lib/typescript/classes/HMSConstants.d.ts +3 -0
  261. package/lib/typescript/classes/HMSEncoder.d.ts +10 -6
  262. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +2 -2
  263. package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -14
  264. package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +0 -2
  265. package/lib/typescript/classes/HMSLogger.d.ts +1 -7
  266. package/lib/typescript/classes/HMSMessageRecipient.d.ts +2 -2
  267. package/lib/typescript/classes/HMSNativeEventEmitter.d.ts +13 -0
  268. package/lib/typescript/classes/HMSPeer.d.ts +12 -18
  269. package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
  270. package/lib/typescript/classes/HMSPeersCache.d.ts +17 -0
  271. package/lib/typescript/classes/HMSPublishSettings.d.ts +8 -15
  272. package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -14
  273. package/lib/typescript/classes/HMSRole.d.ts +0 -6
  274. package/lib/typescript/classes/HMSRoleChangeRequest.d.ts +2 -2
  275. package/lib/typescript/classes/HMSRoom.d.ts +11 -22
  276. package/lib/typescript/classes/HMSRoomCache.d.ts +16 -0
  277. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -4
  278. package/lib/typescript/classes/HMSSDK.d.ts +3 -13
  279. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  280. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +0 -2
  281. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +1 -1
  282. package/lib/typescript/index.d.ts +1 -0
  283. package/package.json +5 -4
  284. package/react-native-hms.podspec +1 -1
  285. package/sdk-versions.json +3 -2
  286. package/src/classes/HMSAudioNode.ts +3 -1
  287. package/src/classes/HMSBrowserRecordingState.ts +4 -4
  288. package/src/classes/HMSChangeTrackStateRequest.ts +2 -2
  289. package/src/classes/HMSConstants.ts +3 -0
  290. package/src/classes/HMSEncoder.ts +162 -120
  291. package/src/classes/HMSHLSStreamingState.ts +2 -2
  292. package/src/classes/HMSLocalPeer.ts +0 -15
  293. package/src/classes/HMSLocalVideoTrack.ts +0 -2
  294. package/src/classes/HMSLogger.ts +20 -19
  295. package/src/classes/HMSMessageRecipient.ts +3 -3
  296. package/src/classes/HMSNativeEventEmitter.ts +109 -0
  297. package/src/classes/HMSPeer.ts +135 -32
  298. package/src/classes/HMSPeerUpdate.ts +9 -0
  299. package/src/classes/HMSPeersCache.ts +252 -0
  300. package/src/classes/HMSPublishSettings.ts +8 -18
  301. package/src/classes/HMSRemotePeer.ts +0 -16
  302. package/src/classes/HMSRole.ts +0 -9
  303. package/src/classes/HMSRoleChangeRequest.ts +5 -3
  304. package/src/classes/HMSRoom.ts +141 -37
  305. package/src/classes/HMSRoomCache.ts +157 -0
  306. package/src/classes/HMSRtmpStreamingState.ts +4 -4
  307. package/src/classes/HMSSDK.tsx +685 -292
  308. package/src/classes/HMSServerRecordingState.ts +2 -2
  309. package/src/classes/HMSSubscribeSettings.ts +1 -7
  310. package/src/classes/HMSUpdateListenerActions.ts +1 -1
  311. package/src/classes/HmsView.tsx +2 -1
  312. package/src/index.ts +1 -0
@@ -11,8 +11,6 @@ import android.webkit.URLUtil
11
11
  import androidx.annotation.RequiresApi
12
12
  import com.facebook.react.bridge.*
13
13
  import com.facebook.react.uimanager.events.RCTEventEmitter
14
- import java.io.ByteArrayOutputStream
15
- import java.util.*
16
14
  import live.hms.video.audio.HMSAudioManager
17
15
  import live.hms.video.error.HMSException
18
16
  import live.hms.video.events.AgentType
@@ -27,12 +25,14 @@ import live.hms.video.services.LogAlarmManager
27
25
  import live.hms.video.utils.HMSLogger
28
26
  import live.hms.video.utils.HmsUtilities
29
27
  import org.webrtc.SurfaceViewRenderer
28
+ import java.io.ByteArrayOutputStream
29
+ import java.util.*
30
30
 
31
31
  object HMSHelper {
32
32
 
33
33
  fun areAllRequiredKeysAvailable(
34
- map: ReadableMap?,
35
- requiredKeys: Array<Pair<String, String>>
34
+ map: ReadableMap?,
35
+ requiredKeys: Array<Pair<String, String>>
36
36
  ): Boolean {
37
37
  if (map == null) {
38
38
  return false
@@ -64,8 +64,8 @@ object HMSHelper {
64
64
  }
65
65
 
66
66
  fun getUnavailableRequiredKey(
67
- map: ReadableMap?,
68
- requiredKeys: Array<Pair<String, String>>
67
+ map: ReadableMap?,
68
+ requiredKeys: Array<Pair<String, String>>
69
69
  ): String? {
70
70
  if (map == null) {
71
71
  return "Object_Is_Null"
@@ -111,8 +111,8 @@ object HMSHelper {
111
111
  }
112
112
 
113
113
  fun getRolesFromRoleNames(
114
- targetedRoles: ArrayList<String>?,
115
- roles: List<HMSRole>?
114
+ targetedRoles: ArrayList<String>?,
115
+ roles: List<HMSRole>?
116
116
  ): List<HMSRole> {
117
117
  val encodedRoles: MutableList<HMSRole> = mutableListOf()
118
118
 
@@ -162,10 +162,10 @@ object HMSHelper {
162
162
 
163
163
  fun getFrameworkInfo(data: ReadableMap?): FrameworkInfo? {
164
164
  if (data != null &&
165
- this.areAllRequiredKeysAvailable(
166
- data,
167
- arrayOf(Pair("version", "String"), Pair("sdkVersion", "String"))
168
- )
165
+ this.areAllRequiredKeysAvailable(
166
+ data,
167
+ arrayOf(Pair("version", "String"), Pair("sdkVersion", "String"))
168
+ )
169
169
  ) {
170
170
  val version = data.getString("version") as String
171
171
  val sdkVersion = data.getString("sdkVersion") as String
@@ -176,14 +176,14 @@ object HMSHelper {
176
176
 
177
177
  fun getLogSettings(data: ReadableMap?): HMSLogSettings? {
178
178
  if (data != null &&
179
- this.areAllRequiredKeysAvailable(
180
- data,
181
- arrayOf(
182
- Pair("level", "String"),
183
- Pair("maxDirSizeInBytes", "String"),
184
- Pair("isLogStorageEnabled", "Boolean")
185
- )
179
+ this.areAllRequiredKeysAvailable(
180
+ data,
181
+ arrayOf(
182
+ Pair("level", "String"),
183
+ Pair("maxDirSizeInBytes", "String"),
184
+ Pair("isLogStorageEnabled", "Boolean")
186
185
  )
186
+ )
187
187
  ) {
188
188
  val level = getLogLevel(data.getString("level"))
189
189
  val maxDirSizeInBytes = getLogAlarmManager(data.getString("maxDirSizeInBytes"))
@@ -358,7 +358,7 @@ object HMSHelper {
358
358
  var hlsMeetingUrlVariant: List<HMSHLSMeetingURLVariant>? = null
359
359
  if (areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))) {
360
360
  val meetingURLVariants =
361
- data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
361
+ data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
362
362
  hlsMeetingUrlVariant = getHMSHLSMeetingURLVariants(meetingURLVariants)
363
363
  }
364
364
  var hlsRecordingConfig: HMSHlsRecordingConfig? = null
@@ -370,7 +370,7 @@ object HMSHelper {
370
370
  }
371
371
 
372
372
  private fun getHMSHLSMeetingURLVariants(
373
- hmsMeetingURLVariants: ArrayList<HashMap<String, String>>?
373
+ hmsMeetingURLVariants: ArrayList<HashMap<String, String>>?
374
374
  ): List<HMSHLSMeetingURLVariant> {
375
375
  val meetingURLVariants = mutableListOf<HMSHLSMeetingURLVariant>()
376
376
  if (hmsMeetingURLVariants !== null) {
@@ -387,16 +387,16 @@ object HMSHelper {
387
387
  var singleFilePerLayer = false
388
388
  var videoOnDemand = false
389
389
  if (areAllRequiredKeysAvailable(
390
- hmsHlsRecordingConfig,
391
- arrayOf(Pair("singleFilePerLayer", "Boolean"))
392
- )
390
+ hmsHlsRecordingConfig,
391
+ arrayOf(Pair("singleFilePerLayer", "Boolean"))
392
+ )
393
393
  ) {
394
394
  singleFilePerLayer = hmsHlsRecordingConfig.getBoolean("singleFilePerLayer")
395
395
  }
396
396
  if (areAllRequiredKeysAvailable(
397
- hmsHlsRecordingConfig,
398
- arrayOf(Pair("videoOnDemand", "Boolean"))
399
- )
397
+ hmsHlsRecordingConfig,
398
+ arrayOf(Pair("videoOnDemand", "Boolean"))
399
+ )
400
400
  ) {
401
401
  videoOnDemand = hmsHlsRecordingConfig.getBoolean("videoOnDemand")
402
402
  }
@@ -406,7 +406,7 @@ object HMSHelper {
406
406
  }
407
407
 
408
408
  private fun getHMSHLSMeetingURLVariant(
409
- hmsMeetingURLVariant: HashMap<String, String>?
409
+ hmsMeetingURLVariant: HashMap<String, String>?
410
410
  ): HMSHLSMeetingURLVariant {
411
411
  var meetingURLVariant = HMSHLSMeetingURLVariant("", "")
412
412
  if (hmsMeetingURLVariant !== null) {
@@ -451,95 +451,95 @@ object HMSHelper {
451
451
 
452
452
  fun getHmsConfig(credentials: ReadableMap): HMSConfig {
453
453
  var config =
454
- HMSConfig(
455
- credentials.getString("username") as String,
456
- credentials.getString("authToken") as String,
457
- )
454
+ HMSConfig(
455
+ credentials.getString("username") as String,
456
+ credentials.getString("authToken") as String
457
+ )
458
458
 
459
459
  when {
460
460
  areAllRequiredKeysAvailable(
461
- credentials,
462
- arrayOf(
463
- Pair("endpoint", "String"),
464
- Pair("metadata", "String"),
465
- Pair("captureNetworkQualityInPreview", "Boolean")
466
- )
461
+ credentials,
462
+ arrayOf(
463
+ Pair("endpoint", "String"),
464
+ Pair("metadata", "String"),
465
+ Pair("captureNetworkQualityInPreview", "Boolean")
466
+ )
467
467
  ) -> {
468
468
  config =
469
- HMSConfig(
470
- credentials.getString("username") as String,
471
- credentials.getString("authToken") as String,
472
- initEndpoint = credentials.getString("endpoint") as String,
473
- metadata = credentials.getString("metadata") as String,
474
- captureNetworkQualityInPreview =
475
- credentials.getBoolean("captureNetworkQualityInPreview"),
476
- )
469
+ HMSConfig(
470
+ credentials.getString("username") as String,
471
+ credentials.getString("authToken") as String,
472
+ initEndpoint = credentials.getString("endpoint") as String,
473
+ metadata = credentials.getString("metadata") as String,
474
+ captureNetworkQualityInPreview =
475
+ credentials.getBoolean("captureNetworkQualityInPreview")
476
+ )
477
477
  }
478
478
  areAllRequiredKeysAvailable(
479
- credentials,
480
- arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
479
+ credentials,
480
+ arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
481
481
  ) -> {
482
482
  config =
483
- HMSConfig(
484
- credentials.getString("username") as String,
485
- credentials.getString("authToken") as String,
486
- initEndpoint = credentials.getString("endpoint") as String,
487
- metadata = credentials.getString("metadata") as String,
488
- )
483
+ HMSConfig(
484
+ credentials.getString("username") as String,
485
+ credentials.getString("authToken") as String,
486
+ initEndpoint = credentials.getString("endpoint") as String,
487
+ metadata = credentials.getString("metadata") as String
488
+ )
489
489
  }
490
490
  areAllRequiredKeysAvailable(
491
- credentials,
492
- arrayOf(Pair("endpoint", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
491
+ credentials,
492
+ arrayOf(Pair("endpoint", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
493
493
  ) -> {
494
494
  config =
495
- HMSConfig(
496
- credentials.getString("username") as String,
497
- credentials.getString("authToken") as String,
498
- initEndpoint = credentials.getString("endpoint") as String,
499
- captureNetworkQualityInPreview =
500
- credentials.getBoolean("captureNetworkQualityInPreview"),
501
- )
495
+ HMSConfig(
496
+ credentials.getString("username") as String,
497
+ credentials.getString("authToken") as String,
498
+ initEndpoint = credentials.getString("endpoint") as String,
499
+ captureNetworkQualityInPreview =
500
+ credentials.getBoolean("captureNetworkQualityInPreview")
501
+ )
502
502
  }
503
503
  areAllRequiredKeysAvailable(
504
- credentials,
505
- arrayOf(Pair("metadata", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
504
+ credentials,
505
+ arrayOf(Pair("metadata", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
506
506
  ) -> {
507
507
  config =
508
- HMSConfig(
509
- credentials.getString("username") as String,
510
- credentials.getString("authToken") as String,
511
- metadata = credentials.getString("metadata") as String,
512
- captureNetworkQualityInPreview =
513
- credentials.getBoolean("captureNetworkQualityInPreview"),
514
- )
508
+ HMSConfig(
509
+ credentials.getString("username") as String,
510
+ credentials.getString("authToken") as String,
511
+ metadata = credentials.getString("metadata") as String,
512
+ captureNetworkQualityInPreview =
513
+ credentials.getBoolean("captureNetworkQualityInPreview")
514
+ )
515
515
  }
516
516
  areAllRequiredKeysAvailable(credentials, arrayOf(Pair("endpoint", "String"))) -> {
517
517
  config =
518
- HMSConfig(
519
- credentials.getString("username") as String,
520
- credentials.getString("authToken") as String,
521
- initEndpoint = credentials.getString("endpoint") as String,
522
- )
518
+ HMSConfig(
519
+ credentials.getString("username") as String,
520
+ credentials.getString("authToken") as String,
521
+ initEndpoint = credentials.getString("endpoint") as String
522
+ )
523
523
  }
524
524
  areAllRequiredKeysAvailable(credentials, arrayOf(Pair("metadata", "String"))) -> {
525
525
  config =
526
- HMSConfig(
527
- credentials.getString("username") as String,
528
- credentials.getString("authToken") as String,
529
- metadata = credentials.getString("metadata") as String,
530
- )
526
+ HMSConfig(
527
+ credentials.getString("username") as String,
528
+ credentials.getString("authToken") as String,
529
+ metadata = credentials.getString("metadata") as String
530
+ )
531
531
  }
532
532
  areAllRequiredKeysAvailable(
533
- credentials,
534
- arrayOf(Pair("captureNetworkQualityInPreview", "Boolean"))
533
+ credentials,
534
+ arrayOf(Pair("captureNetworkQualityInPreview", "Boolean"))
535
535
  ) -> {
536
536
  config =
537
- HMSConfig(
538
- credentials.getString("username") as String,
539
- credentials.getString("authToken") as String,
540
- captureNetworkQualityInPreview =
541
- credentials.getBoolean("captureNetworkQualityInPreview")
542
- )
537
+ HMSConfig(
538
+ credentials.getString("username") as String,
539
+ credentials.getString("authToken") as String,
540
+ captureNetworkQualityInPreview =
541
+ credentials.getBoolean("captureNetworkQualityInPreview")
542
+ )
543
543
  }
544
544
  }
545
545
  return config
@@ -547,11 +547,11 @@ object HMSHelper {
547
547
 
548
548
  @RequiresApi(Build.VERSION_CODES.N)
549
549
  fun captureSurfaceView(
550
- surfaceView: SurfaceViewRenderer,
551
- sdkId: String,
552
- args: ReadableArray?,
553
- context: Context,
554
- id: Int
550
+ surfaceView: SurfaceViewRenderer,
551
+ sdkId: String,
552
+ args: ReadableArray?,
553
+ context: Context,
554
+ id: Int
555
555
  ) {
556
556
  val output = Arguments.createMap()
557
557
  if (args != null) {
@@ -562,40 +562,40 @@ object HMSHelper {
562
562
  val reactContext = context as ReactContext
563
563
  try {
564
564
  val bitmap: Bitmap =
565
- Bitmap.createBitmap(surfaceView.width, surfaceView.height, Bitmap.Config.ARGB_8888)
565
+ Bitmap.createBitmap(surfaceView.width, surfaceView.height, Bitmap.Config.ARGB_8888)
566
566
  PixelCopy.request(
567
- surfaceView,
568
- bitmap,
569
- { copyResult ->
570
- if (copyResult == PixelCopy.SUCCESS) {
571
- Log.d("captureSurfaceView", "bitmap: $bitmap")
572
- val byteArrayOutputStream = ByteArrayOutputStream()
573
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream)
574
- val byteArray = byteArrayOutputStream.toByteArray()
575
- val encoded: String = Base64.encodeToString(byteArray, Base64.DEFAULT)
576
- Log.d("captureSurfaceView", "Base64: $encoded")
577
- output.putString("result", encoded)
578
- reactContext
579
- .getJSModule(RCTEventEmitter::class.java)
580
- .receiveEvent(id, "captureFrame", output)
581
- } else {
582
- Log.e("captureSurfaceView", "copyResult: $copyResult")
583
- HMSManager.hmsCollection[sdkId]?.emitHMSError(
584
- HMSException(
585
- 103,
586
- copyResult.toString(),
587
- copyResult.toString(),
588
- copyResult.toString(),
589
- copyResult.toString()
590
- )
567
+ surfaceView,
568
+ bitmap,
569
+ { copyResult ->
570
+ if (copyResult == PixelCopy.SUCCESS) {
571
+ Log.d("captureSurfaceView", "bitmap: $bitmap")
572
+ val byteArrayOutputStream = ByteArrayOutputStream()
573
+ bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream)
574
+ val byteArray = byteArrayOutputStream.toByteArray()
575
+ val encoded: String = Base64.encodeToString(byteArray, Base64.DEFAULT)
576
+ Log.d("captureSurfaceView", "Base64: $encoded")
577
+ output.putString("result", encoded)
578
+ reactContext
579
+ .getJSModule(RCTEventEmitter::class.java)
580
+ .receiveEvent(id, "captureFrame", output)
581
+ } else {
582
+ Log.e("captureSurfaceView", "copyResult: $copyResult")
583
+ HMSManager.hmsCollection[sdkId]?.emitHMSError(
584
+ HMSException(
585
+ 103,
586
+ copyResult.toString(),
587
+ copyResult.toString(),
588
+ copyResult.toString(),
589
+ copyResult.toString()
591
590
  )
592
- output.putString("error", copyResult.toString())
593
- reactContext
594
- .getJSModule(RCTEventEmitter::class.java)
595
- .receiveEvent(id, "captureFrame", output)
596
- }
597
- },
598
- Handler()
591
+ )
592
+ output.putString("error", copyResult.toString())
593
+ reactContext
594
+ .getJSModule(RCTEventEmitter::class.java)
595
+ .receiveEvent(id, "captureFrame", output)
596
+ }
597
+ },
598
+ Handler()
599
599
  )
600
600
  } catch (e: Exception) {
601
601
  Log.e("captureSurfaceView", "error: $e")