@100mslive/react-native-hms 0.9.92 → 0.9.94

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 (387) hide show
  1. package/README.md +67 -20
  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/.idea/libraries/Gradle__com_facebook_react_react_native_0_70_3_debug_aar.xml +14 -0
  10. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +13 -0
  11. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +13 -0
  12. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +14 -0
  13. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_0_aar.xml +10 -0
  14. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_2_aar.xml +10 -0
  15. package/android/.idea/modules/android.androidTest.iml +33 -33
  16. package/android/.idea/modules/android.main.iml +34 -33
  17. package/android/.idea/modules/android.unitTest.iml +33 -33
  18. package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +5 -0
  19. package/android/.idea/sonarlint/issuestore/index.pb +3 -1
  20. package/android/build.gradle +12 -10
  21. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +8 -25
  22. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +119 -89
  23. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +35 -0
  24. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +61 -40
  25. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +1 -1
  26. package/ios/HMSDecoder.swift +31 -37
  27. package/ios/HMSHelper.swift +88 -24
  28. package/ios/HMSManager.m +13 -0
  29. package/ios/HMSManager.swift +118 -36
  30. package/ios/HMSRNSDK.swift +284 -119
  31. package/ios/HMSView.swift +3 -4
  32. package/lib/commonjs/classes/HMSAudioCodec.js +0 -1
  33. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  34. package/lib/commonjs/classes/HMSAudioDevice.js +0 -1
  35. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  36. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js +73 -0
  37. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -0
  38. package/lib/commonjs/classes/HMSAudioMixerSource.js +20 -0
  39. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -0
  40. package/lib/commonjs/classes/HMSAudioMixingMode.js +0 -1
  41. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  42. package/lib/commonjs/classes/HMSAudioMode.js +0 -1
  43. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  44. package/lib/commonjs/classes/HMSAudioNode.js +19 -0
  45. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -0
  46. package/lib/commonjs/classes/HMSAudioSettings.js +0 -6
  47. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  48. package/lib/commonjs/classes/HMSAudioTrack.js +0 -4
  49. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSAudioTrackSettings.js +9 -13
  51. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  52. package/lib/commonjs/classes/HMSBrowserRecordingState.js +0 -8
  53. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  54. package/lib/commonjs/classes/HMSCameraFacing.js +0 -1
  55. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  56. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +0 -7
  57. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  58. package/lib/commonjs/classes/HMSConfig.js +0 -9
  59. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  60. package/lib/commonjs/classes/HMSEncoder.js +13 -87
  61. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  62. package/lib/commonjs/classes/HMSException.js +8 -10
  63. package/lib/commonjs/classes/HMSException.js.map +1 -1
  64. package/lib/commonjs/classes/HMSHLSConfig.js +0 -6
  65. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  66. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +0 -6
  67. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  68. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +0 -6
  69. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  70. package/lib/commonjs/classes/HMSHLSRecordingState.js +0 -8
  71. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  72. package/lib/commonjs/classes/HMSHLSStreamingState.js +0 -6
  73. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  74. package/lib/commonjs/classes/HMSHLSVariant.js +0 -8
  75. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  76. package/lib/commonjs/classes/HMSHelper.js +0 -3
  77. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  78. package/lib/commonjs/classes/HMSLocalAudioStats.js +0 -7
  79. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  80. package/lib/commonjs/classes/HMSLocalAudioTrack.js +0 -15
  81. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  82. package/lib/commonjs/classes/HMSLocalPeer.js +0 -14
  83. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  84. package/lib/commonjs/classes/HMSLocalVideoStats.js +0 -9
  85. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  86. package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -15
  87. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  88. package/lib/commonjs/classes/HMSLogAlarmManager.js +14 -0
  89. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -0
  90. package/lib/commonjs/classes/HMSLogLevel.js +0 -1
  91. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  92. package/lib/commonjs/classes/HMSLogSettings.js +19 -0
  93. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -0
  94. package/lib/commonjs/classes/HMSLogger.js +0 -30
  95. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  96. package/lib/commonjs/classes/HMSMessage.js +1 -9
  97. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  98. package/lib/commonjs/classes/HMSMessageRecipient.js +0 -7
  99. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  100. package/lib/commonjs/classes/HMSMessageRecipientType.js +0 -1
  101. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  102. package/lib/commonjs/classes/HMSMicNode.js +28 -0
  103. package/lib/commonjs/classes/HMSMicNode.js.map +1 -0
  104. package/lib/commonjs/classes/HMSNetworkQuality.js +0 -5
  105. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  106. package/lib/commonjs/classes/HMSPeer.js +0 -15
  107. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  108. package/lib/commonjs/classes/HMSPeerUpdate.js +0 -1
  109. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  110. package/lib/commonjs/classes/HMSPermissions.js +0 -12
  111. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  112. package/lib/commonjs/classes/HMSPublishSettings.js +0 -11
  113. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  114. package/lib/commonjs/classes/HMSRTCStats.js +0 -11
  115. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  116. package/lib/commonjs/classes/HMSRTCStatsReport.js +0 -7
  117. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  118. package/lib/commonjs/classes/HMSRTMPConfig.js +0 -8
  119. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  120. package/lib/commonjs/classes/HMSRemoteAudioStats.js +0 -9
  121. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  122. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +0 -10
  123. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  124. package/lib/commonjs/classes/HMSRemotePeer.js +0 -14
  125. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  126. package/lib/commonjs/classes/HMSRemoteVideoStats.js +0 -11
  127. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  128. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +0 -12
  129. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  130. package/lib/commonjs/classes/HMSRole.js +0 -12
  131. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  132. package/lib/commonjs/classes/HMSRoleChangeRequest.js +0 -6
  133. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  134. package/lib/commonjs/classes/HMSRoom.js +0 -15
  135. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  136. package/lib/commonjs/classes/HMSRoomUpdate.js +0 -1
  137. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  138. package/lib/commonjs/classes/HMSRtmpStreamingState.js +0 -8
  139. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  140. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +0 -6
  141. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  142. package/lib/commonjs/classes/HMSSDK.js +142 -390
  143. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  144. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js +14 -0
  145. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -0
  146. package/lib/commonjs/classes/HMSServerRecordingState.js +0 -7
  147. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  148. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +0 -8
  149. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  150. package/lib/commonjs/classes/HMSSimulcastSettings.js +0 -6
  151. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  152. package/lib/commonjs/classes/HMSSpeaker.js +0 -7
  153. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  154. package/lib/commonjs/classes/HMSSubscribeSettings.js +2 -9
  155. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  156. package/lib/commonjs/classes/HMSTrack.js +0 -11
  157. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  158. package/lib/commonjs/classes/HMSTrackSettings.js +0 -9
  159. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  160. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +13 -0
  161. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -0
  162. package/lib/commonjs/classes/HMSTrackSource.js +0 -1
  163. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  164. package/lib/commonjs/classes/HMSTrackType.js +0 -1
  165. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  166. package/lib/commonjs/classes/HMSTrackUpdate.js +0 -1
  167. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  168. package/lib/commonjs/classes/HMSUpdateListenerActions.js +0 -1
  169. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  170. package/lib/commonjs/classes/HMSVideoCodec.js +0 -1
  171. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  172. package/lib/commonjs/classes/HMSVideoResolution.js +0 -6
  173. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  174. package/lib/commonjs/classes/HMSVideoSettings.js +0 -9
  175. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  176. package/lib/commonjs/classes/HMSVideoTrack.js +0 -11
  177. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  178. package/lib/commonjs/classes/HMSVideoTrackSettings.js +11 -23
  179. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  180. package/lib/commonjs/classes/HMSVideoViewMode.js +0 -1
  181. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  182. package/lib/commonjs/classes/HmsView.js +7 -25
  183. package/lib/commonjs/classes/HmsView.js.map +1 -1
  184. package/lib/commonjs/index.js +96 -134
  185. package/lib/commonjs/index.js.map +1 -1
  186. package/lib/module/classes/HMSAudioCodec.js +0 -1
  187. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  188. package/lib/module/classes/HMSAudioDevice.js +0 -1
  189. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  190. package/lib/module/classes/HMSAudioFilePlayerNode.js +66 -0
  191. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -0
  192. package/lib/module/classes/HMSAudioMixerSource.js +13 -0
  193. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -0
  194. package/lib/module/classes/HMSAudioMixingMode.js +0 -1
  195. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  196. package/lib/module/classes/HMSAudioMode.js +0 -1
  197. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  198. package/lib/module/classes/HMSAudioNode.js +12 -0
  199. package/lib/module/classes/HMSAudioNode.js.map +1 -0
  200. package/lib/module/classes/HMSAudioSettings.js +0 -4
  201. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  202. package/lib/module/classes/HMSAudioTrack.js +0 -1
  203. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  204. package/lib/module/classes/HMSAudioTrackSettings.js +9 -11
  205. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  206. package/lib/module/classes/HMSBrowserRecordingState.js +0 -6
  207. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  208. package/lib/module/classes/HMSCameraFacing.js +0 -1
  209. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  210. package/lib/module/classes/HMSChangeTrackStateRequest.js +0 -5
  211. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  212. package/lib/module/classes/HMSConfig.js +0 -7
  213. package/lib/module/classes/HMSConfig.js.map +1 -1
  214. package/lib/module/classes/HMSEncoder.js +13 -55
  215. package/lib/module/classes/HMSEncoder.js.map +1 -1
  216. package/lib/module/classes/HMSException.js +8 -8
  217. package/lib/module/classes/HMSException.js.map +1 -1
  218. package/lib/module/classes/HMSHLSConfig.js +0 -4
  219. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  220. package/lib/module/classes/HMSHLSMeetingURLVariant.js +0 -4
  221. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  222. package/lib/module/classes/HMSHLSRecordingConfig.js +0 -4
  223. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  224. package/lib/module/classes/HMSHLSRecordingState.js +0 -6
  225. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  226. package/lib/module/classes/HMSHLSStreamingState.js +0 -4
  227. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  228. package/lib/module/classes/HMSHLSVariant.js +0 -6
  229. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  230. package/lib/module/classes/HMSHelper.js +0 -1
  231. package/lib/module/classes/HMSHelper.js.map +1 -1
  232. package/lib/module/classes/HMSLocalAudioStats.js +0 -5
  233. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  234. package/lib/module/classes/HMSLocalAudioTrack.js +0 -9
  235. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  236. package/lib/module/classes/HMSLocalPeer.js +0 -9
  237. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  238. package/lib/module/classes/HMSLocalVideoStats.js +0 -7
  239. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  240. package/lib/module/classes/HMSLocalVideoTrack.js +0 -9
  241. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  242. package/lib/module/classes/HMSLogAlarmManager.js +7 -0
  243. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -0
  244. package/lib/module/classes/HMSLogLevel.js +0 -1
  245. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  246. package/lib/module/classes/HMSLogSettings.js +12 -0
  247. package/lib/module/classes/HMSLogSettings.js.map +1 -0
  248. package/lib/module/classes/HMSLogger.js +0 -22
  249. package/lib/module/classes/HMSLogger.js.map +1 -1
  250. package/lib/module/classes/HMSMessage.js +1 -7
  251. package/lib/module/classes/HMSMessage.js.map +1 -1
  252. package/lib/module/classes/HMSMessageRecipient.js +0 -5
  253. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  254. package/lib/module/classes/HMSMessageRecipientType.js +0 -1
  255. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  256. package/lib/module/classes/HMSMicNode.js +21 -0
  257. package/lib/module/classes/HMSMicNode.js.map +1 -0
  258. package/lib/module/classes/HMSNetworkQuality.js +0 -3
  259. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  260. package/lib/module/classes/HMSPeer.js +0 -13
  261. package/lib/module/classes/HMSPeer.js.map +1 -1
  262. package/lib/module/classes/HMSPeerUpdate.js +0 -1
  263. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  264. package/lib/module/classes/HMSPermissions.js +0 -10
  265. package/lib/module/classes/HMSPermissions.js.map +1 -1
  266. package/lib/module/classes/HMSPublishSettings.js +0 -9
  267. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  268. package/lib/module/classes/HMSRTCStats.js +0 -9
  269. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  270. package/lib/module/classes/HMSRTCStatsReport.js +0 -5
  271. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  272. package/lib/module/classes/HMSRTMPConfig.js +0 -6
  273. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  274. package/lib/module/classes/HMSRemoteAudioStats.js +0 -7
  275. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  276. package/lib/module/classes/HMSRemoteAudioTrack.js +0 -4
  277. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  278. package/lib/module/classes/HMSRemotePeer.js +0 -9
  279. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  280. package/lib/module/classes/HMSRemoteVideoStats.js +0 -9
  281. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  282. package/lib/module/classes/HMSRemoteVideoTrack.js +0 -6
  283. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  284. package/lib/module/classes/HMSRole.js +0 -10
  285. package/lib/module/classes/HMSRole.js.map +1 -1
  286. package/lib/module/classes/HMSRoleChangeRequest.js +0 -4
  287. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  288. package/lib/module/classes/HMSRoom.js +0 -13
  289. package/lib/module/classes/HMSRoom.js.map +1 -1
  290. package/lib/module/classes/HMSRoomUpdate.js +0 -1
  291. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  292. package/lib/module/classes/HMSRtmpStreamingState.js +0 -6
  293. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  294. package/lib/module/classes/HMSRtmpVideoResolution.js +0 -4
  295. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  296. package/lib/module/classes/HMSSDK.js +143 -345
  297. package/lib/module/classes/HMSSDK.js.map +1 -1
  298. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js +7 -0
  299. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -0
  300. package/lib/module/classes/HMSServerRecordingState.js +0 -5
  301. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  302. package/lib/module/classes/HMSSimulcastLayerSettings.js +0 -6
  303. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  304. package/lib/module/classes/HMSSimulcastSettings.js +0 -4
  305. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  306. package/lib/module/classes/HMSSpeaker.js +0 -5
  307. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  308. package/lib/module/classes/HMSSubscribeSettings.js +2 -7
  309. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  310. package/lib/module/classes/HMSTrack.js +0 -9
  311. package/lib/module/classes/HMSTrack.js.map +1 -1
  312. package/lib/module/classes/HMSTrackSettings.js +0 -7
  313. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  314. package/lib/module/classes/HMSTrackSettingsInitState.js +6 -0
  315. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -0
  316. package/lib/module/classes/HMSTrackSource.js +0 -1
  317. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  318. package/lib/module/classes/HMSTrackType.js +0 -1
  319. package/lib/module/classes/HMSTrackType.js.map +1 -1
  320. package/lib/module/classes/HMSTrackUpdate.js +0 -1
  321. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  322. package/lib/module/classes/HMSUpdateListenerActions.js +0 -1
  323. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  324. package/lib/module/classes/HMSVideoCodec.js +0 -1
  325. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  326. package/lib/module/classes/HMSVideoResolution.js +0 -4
  327. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  328. package/lib/module/classes/HMSVideoSettings.js +0 -7
  329. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  330. package/lib/module/classes/HMSVideoTrack.js +0 -8
  331. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  332. package/lib/module/classes/HMSVideoTrackSettings.js +11 -21
  333. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  334. package/lib/module/classes/HMSVideoViewMode.js +0 -1
  335. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  336. package/lib/module/classes/HmsView.js +7 -14
  337. package/lib/module/classes/HmsView.js.map +1 -1
  338. package/lib/module/index.js +8 -0
  339. package/lib/module/index.js.map +1 -1
  340. package/lib/typescript/classes/HMSAudioFilePlayerNode.d.ts +12 -0
  341. package/lib/typescript/classes/HMSAudioMixerSource.d.ts +8 -0
  342. package/lib/typescript/classes/HMSAudioNode.d.ts +6 -0
  343. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +7 -7
  344. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  345. package/lib/typescript/classes/HMSEncoder.d.ts +2 -5
  346. package/lib/typescript/classes/HMSException.d.ts +8 -6
  347. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +5 -0
  348. package/lib/typescript/classes/HMSLogSettings.d.ts +12 -0
  349. package/lib/typescript/classes/HMSMicNode.d.ts +5 -0
  350. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  351. package/lib/typescript/classes/HMSSDK.d.ts +67 -41
  352. package/lib/typescript/classes/HMSScreenBroadcastAudioReceiverNode.d.ts +4 -0
  353. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  354. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +2 -2
  355. package/lib/typescript/classes/HMSTrackSettings.d.ts +0 -2
  356. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +4 -0
  357. package/lib/typescript/classes/HMSVideoTrack.d.ts +0 -2
  358. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +10 -15
  359. package/lib/typescript/index.d.ts +8 -0
  360. package/package.json +1 -1
  361. package/react-native-hms.podspec +2 -2
  362. package/src/classes/HMSAudioFilePlayerNode.ts +75 -0
  363. package/src/classes/HMSAudioMixerSource.ts +15 -0
  364. package/src/classes/HMSAudioNode.ts +12 -0
  365. package/src/classes/HMSAudioTrackSettings.ts +11 -10
  366. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  367. package/src/classes/HMSEncoder.ts +12 -20
  368. package/src/classes/HMSException.ts +9 -6
  369. package/src/classes/HMSLogAlarmManager.ts +5 -0
  370. package/src/classes/HMSLogSettings.ts +18 -0
  371. package/src/classes/HMSMicNode.ts +23 -0
  372. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  373. package/src/classes/HMSSDK.tsx +153 -185
  374. package/src/classes/HMSScreenBroadcastAudioReceiverNode.ts +7 -0
  375. package/src/classes/HMSServerRecordingState.ts +2 -2
  376. package/src/classes/HMSSubscribeSettings.ts +3 -3
  377. package/src/classes/HMSTrackSettings.ts +0 -3
  378. package/src/classes/HMSTrackSettingsInitState.ts +4 -0
  379. package/src/classes/HMSVideoTrack.ts +0 -2
  380. package/src/classes/HMSVideoTrackSettings.ts +14 -21
  381. package/src/index.ts +8 -0
  382. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +0 -14
  383. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +0 -13
  384. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +0 -13
  385. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +0 -15
  386. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_7_aar.xml +0 -11
  387. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_hms_1_1_aar.xml +0 -11
@@ -10,15 +10,12 @@ import android.view.PixelCopy
10
10
  import android.webkit.URLUtil
11
11
  import androidx.annotation.RequiresApi
12
12
  import com.facebook.react.bridge.*
13
- import com.facebook.react.bridge.ReadableArray
14
- import com.facebook.react.bridge.ReadableMap
15
13
  import com.facebook.react.uimanager.events.RCTEventEmitter
16
14
  import java.io.ByteArrayOutputStream
17
15
  import java.util.*
18
16
  import live.hms.video.audio.HMSAudioManager
19
17
  import live.hms.video.error.HMSException
20
- import live.hms.video.media.codec.HMSAudioCodec
21
- import live.hms.video.media.codec.HMSVideoCodec
18
+ import live.hms.video.events.AgentType
22
19
  import live.hms.video.media.settings.*
23
20
  import live.hms.video.media.tracks.HMSRemoteAudioTrack
24
21
  import live.hms.video.media.tracks.HMSRemoteVideoTrack
@@ -26,6 +23,8 @@ import live.hms.video.media.tracks.HMSTrack
26
23
  import live.hms.video.sdk.models.*
27
24
  import live.hms.video.sdk.models.enums.AudioMixingMode
28
25
  import live.hms.video.sdk.models.role.HMSRole
26
+ import live.hms.video.services.LogAlarmManager
27
+ import live.hms.video.utils.HMSLogger
29
28
  import live.hms.video.utils.HmsUtilities
30
29
  import org.webrtc.SurfaceViewRenderer
31
30
 
@@ -161,93 +160,148 @@ object HMSHelper {
161
160
  return null
162
161
  }
163
162
 
164
- fun getTrackSettings(data: ReadableMap?): HMSTrackSettings? {
165
- if (data == null) {
166
- return null
163
+ fun getFrameworkInfo(data: ReadableMap?): FrameworkInfo? {
164
+ if (data != null &&
165
+ this.areAllRequiredKeysAvailable(
166
+ data,
167
+ arrayOf(Pair("version", "String"), Pair("sdkVersion", "String"))
168
+ )
169
+ ) {
170
+ val version = data.getString("version") as String
171
+ val sdkVersion = data.getString("sdkVersion") as String
172
+ return FrameworkInfo(AgentType.REACT_NATIVE, sdkVersion, version)
167
173
  }
174
+ return null
175
+ }
168
176
 
169
- var useHardwareEchoCancellation = false
170
- val requiredKeysUseHardwareEchoCancellation =
171
- this.areAllRequiredKeysAvailable(
172
- data,
173
- arrayOf(Pair("useHardwareEchoCancellation", "Boolean"))
174
- )
175
- if (requiredKeysUseHardwareEchoCancellation) {
176
- useHardwareEchoCancellation = data.getBoolean("useHardwareEchoCancellation")
177
+ fun getLogSettings(data: ReadableMap?): HMSLogSettings? {
178
+ if (data != null &&
179
+ this.areAllRequiredKeysAvailable(
180
+ data,
181
+ arrayOf(
182
+ Pair("level", "String"),
183
+ Pair("maxDirSizeInBytes", "String"),
184
+ Pair("isLogStorageEnabled", "Boolean")
185
+ )
186
+ )
187
+ ) {
188
+ val level = getLogLevel(data.getString("level"))
189
+ val maxDirSizeInBytes = getLogAlarmManager(data.getString("maxDirSizeInBytes"))
190
+ val isLogStorageEnabled = data.getBoolean("isLogStorageEnabled")
191
+ return HMSLogSettings(maxDirSizeInBytes, isLogStorageEnabled, level)
177
192
  }
193
+ return null
194
+ }
178
195
 
179
- var video: ReadableMap? = null
180
- val requiredKeysVideo = this.areAllRequiredKeysAvailable(data, arrayOf(Pair("video", "Map")))
181
- if (requiredKeysVideo) {
182
- video = data.getMap("video")
196
+ private fun getLogAlarmManager(logAlarmManager: String?): Long {
197
+ when (logAlarmManager) {
198
+ "DEFAULT_DIR_SIZE" -> {
199
+ return LogAlarmManager.DEFAULT_DIR_SIZE
200
+ }
201
+ "DEFAULT_LOGS_FILE_NAME" -> {
202
+ return LogAlarmManager.DEFAULT_LOGS_FILE_NAME.toLong()
203
+ }
204
+ "MAX_DIR_SIZE" -> {
205
+ return LogAlarmManager.MAX_DIR_SIZE.toLong()
206
+ }
183
207
  }
208
+ return LogAlarmManager.DEFAULT_DIR_SIZE
209
+ }
184
210
 
185
- var audio: ReadableMap? = null
186
- val requiredKeysAudio = this.areAllRequiredKeysAvailable(data, arrayOf(Pair("audio", "Map")))
187
- if (requiredKeysAudio) {
188
- audio = data.getMap("audio")
211
+ private fun getLogLevel(logLevel: String?): HMSLogger.LogLevel {
212
+ when (logLevel) {
213
+ "VERBOSE" -> {
214
+ return HMSLogger.LogLevel.VERBOSE
215
+ }
216
+ "WARN" -> {
217
+ return HMSLogger.LogLevel.WARN
218
+ }
219
+ "ERROR" -> {
220
+ return HMSLogger.LogLevel.ERROR
221
+ }
189
222
  }
223
+ return HMSLogger.LogLevel.VERBOSE
224
+ }
190
225
 
191
- if (video == null && audio == null && !useHardwareEchoCancellation) {
226
+ fun getTrackSettings(data: ReadableMap?): HMSTrackSettings? {
227
+ if (data == null) {
192
228
  return null
193
229
  }
230
+ val builder = HMSTrackSettings.Builder()
231
+ if (this.areAllRequiredKeysAvailable(data, arrayOf(Pair("video", "Map")))) {
232
+ val video = data.getMap("video")
233
+ val videoSettings = this.getVideoTrackSettings(video)
234
+ if (videoSettings != null) {
235
+ builder.video(videoSettings)
236
+ }
237
+ }
194
238
 
195
- val videoSettings = this.getVideoTrackSettings(video)
196
- val audioSettings = this.getAudioTrackSettings(audio, useHardwareEchoCancellation)
197
- val trackSettingsBuilder = HMSTrackSettings.Builder()
198
- return trackSettingsBuilder.audio(audioSettings).video(videoSettings).build()
239
+ if (this.areAllRequiredKeysAvailable(data, arrayOf(Pair("audio", "Map")))) {
240
+ val audio = data.getMap("audio")
241
+ val audioSettings = this.getAudioTrackSettings(audio)
242
+ if (audioSettings != null) {
243
+ builder.audio(audioSettings)
244
+ }
245
+ }
246
+ return builder.build()
199
247
  }
200
248
 
201
- private fun getAudioTrackSettings(
202
- data: ReadableMap?,
203
- useHardwareEchoCancellation: Boolean
204
- ): HMSAudioTrackSettings {
205
- val builder =
206
- HMSAudioTrackSettings.Builder()
207
- .setUseHardwareAcousticEchoCanceler(useHardwareEchoCancellation)
208
-
209
- if (data != null) {
210
- val maxBitrate = data.getInt("maxBitrate")
211
- val codec = getAudioCodec(data.getString("codec"))
212
-
213
- builder.maxBitrate(maxBitrate)
214
- builder.codec(codec)
249
+ private fun getAudioTrackSettings(data: ReadableMap?): HMSAudioTrackSettings? {
250
+ if (data == null) {
251
+ return null
252
+ }
253
+ val builder = HMSAudioTrackSettings.Builder()
254
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("useHardwareEchoCancellation", "Boolean")))
255
+ ) {
256
+ val useHardwareEchoCancellation = data.getBoolean("useHardwareEchoCancellation")
257
+ builder.setUseHardwareAcousticEchoCanceler(useHardwareEchoCancellation)
215
258
  }
216
259
 
260
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("initialState", "String")))) {
261
+ val initialState = getHMSTrackSettingsInitState(data.getString("initialState"))
262
+ builder.initialState(initialState)
263
+ }
217
264
  return builder.build()
218
265
  }
219
266
 
220
- // TODO: find out a way to set settings required to create HMSVideoTrackSettings
221
-
222
- private fun getVideoTrackSettings(data: ReadableMap?): HMSVideoTrackSettings {
267
+ private fun getVideoTrackSettings(data: ReadableMap?): HMSVideoTrackSettings? {
268
+ if (data == null) {
269
+ return null
270
+ }
223
271
  val builder = HMSVideoTrackSettings.Builder()
224
- if (data != null) {
225
- val codec = getVideoCodec(data.getString("codec"))
226
- val resolution = getVideoResolution(data.getMap("resolution"))
227
- val maxBitrate = data.getInt("maxBitrate")
228
- val maxFrameRate = data.getInt("maxFrameRate")
229
- val cameraFacing = getCameraFacing(data.getString("cameraFacing"))
230
272
 
231
- builder.codec(codec)
273
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("cameraFacing", "String")))) {
274
+ val cameraFacing = getCameraFacing(data.getString("cameraFacing"))
232
275
  builder.cameraFacing(cameraFacing)
233
- if (resolution != null) {
234
- builder.resolution(resolution)
235
- }
236
- builder.maxBitrate(maxBitrate)
237
- builder.maxFrameRate(maxFrameRate)
276
+ }
277
+
278
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("disableAutoResize", "Boolean")))) {
279
+ val disableAutoResize = data.getBoolean("disableAutoResize")
280
+ builder.disableAutoResize(disableAutoResize)
281
+ }
282
+
283
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("initialState", "String")))) {
284
+ val initialState = getHMSTrackSettingsInitState(data.getString("initialState"))
285
+ builder.initialState(initialState)
286
+ }
287
+
288
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("forceSoftwareDecoder", "Boolean")))) {
289
+ val forceSoftwareDecoder = data.getBoolean("forceSoftwareDecoder")
290
+ builder.forceSoftwareDecoder(forceSoftwareDecoder)
238
291
  }
239
292
  return builder.build()
240
293
  }
241
294
 
242
- private fun getVideoResolution(map: ReadableMap?): HMSVideoResolution? {
243
- val width = map?.getDouble("width")
244
- val height = map?.getDouble("height")
245
-
246
- return if (width != null && height != null) {
247
- HMSVideoResolution(width = width.toInt(), height = height.toInt())
248
- } else {
249
- null
295
+ private fun getHMSTrackSettingsInitState(initState: String?): HMSTrackSettings.InitState {
296
+ when (initState) {
297
+ "UNMUTED" -> {
298
+ return HMSTrackSettings.InitState.UNMUTED
299
+ }
300
+ "MUTED" -> {
301
+ return HMSTrackSettings.InitState.MUTED
302
+ }
250
303
  }
304
+ return HMSTrackSettings.InitState.UNMUTED
251
305
  }
252
306
 
253
307
  fun getAudioMixingMode(audioMixingMode: String?): AudioMixingMode {
@@ -265,30 +319,6 @@ object HMSHelper {
265
319
  return AudioMixingMode.TALK_AND_MUSIC
266
320
  }
267
321
 
268
- private fun getAudioCodec(codecString: String?): HMSAudioCodec {
269
- when (codecString) {
270
- "opus" -> {
271
- return HMSAudioCodec.OPUS
272
- }
273
- }
274
- return HMSAudioCodec.OPUS
275
- }
276
-
277
- private fun getVideoCodec(codecString: String?): HMSVideoCodec {
278
- when (codecString) {
279
- "H264" -> {
280
- return HMSVideoCodec.H264
281
- }
282
- "VP8" -> {
283
- return HMSVideoCodec.VP8
284
- }
285
- "VP9" -> {
286
- return HMSVideoCodec.VP9
287
- }
288
- }
289
- return HMSVideoCodec.H264
290
- }
291
-
292
322
  private fun getCameraFacing(cameraFacing: String?): HMSVideoTrackSettings.CameraFacing {
293
323
  when (cameraFacing) {
294
324
  "FRONT" -> {
@@ -159,6 +159,27 @@ class HMSManager(reactContext: ReactApplicationContext) :
159
159
  hms?.getRoom(callback)
160
160
  }
161
161
 
162
+ @ReactMethod
163
+ fun getLocalPeer(data: ReadableMap, callback: Promise?) {
164
+ val hms = HMSHelper.getHms(data, hmsCollection)
165
+
166
+ hms?.getLocalPeer(callback)
167
+ }
168
+
169
+ @ReactMethod
170
+ fun getRemotePeers(data: ReadableMap, callback: Promise?) {
171
+ val hms = HMSHelper.getHms(data, hmsCollection)
172
+
173
+ hms?.getRemotePeers(callback)
174
+ }
175
+
176
+ @ReactMethod
177
+ fun getRoles(data: ReadableMap, callback: Promise?) {
178
+ val hms = HMSHelper.getHms(data, hmsCollection)
179
+
180
+ hms?.getRoles(callback)
181
+ }
182
+
162
183
  @ReactMethod
163
184
  fun setPlaybackAllowed(data: ReadableMap) {
164
185
  val hms = HMSHelper.getHms(data, hmsCollection)
@@ -341,6 +362,20 @@ class HMSManager(reactContext: ReactApplicationContext) :
341
362
  hms?.disableRTCStats()
342
363
  }
343
364
 
365
+ @ReactMethod
366
+ fun enableNetworkQualityUpdates(data: ReadableMap) {
367
+ val hms = HMSHelper.getHms(data, hmsCollection)
368
+
369
+ hms?.enableNetworkQualityUpdates()
370
+ }
371
+
372
+ @ReactMethod
373
+ fun disableNetworkQualityUpdates(data: ReadableMap) {
374
+ val hms = HMSHelper.getHms(data, hmsCollection)
375
+
376
+ hms?.disableNetworkQualityUpdates()
377
+ }
378
+
344
379
  @ReactMethod
345
380
  fun getAudioDevicesList(data: ReadableMap, callback: Promise?) {
346
381
  val hms = HMSHelper.getHms(data, hmsCollection)
@@ -4,7 +4,6 @@ import android.content.Intent
4
4
  import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
5
5
  import com.facebook.react.bridge.*
6
6
  import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
7
- import java.util.*
8
7
  import kotlinx.coroutines.launch
9
8
  import live.hms.video.audio.HMSAudioManager
10
9
  import live.hms.video.connection.stats.*
@@ -36,17 +35,39 @@ class HMSRNSDK(
36
35
  private var previewInProgress: Boolean = false
37
36
  private var reconnectingStage: Boolean = false
38
37
  private var rtcStatsAttached: Boolean = false
38
+ private var networkQualityUpdatesAttached: Boolean = false
39
39
  private var audioMixingMode: AudioMixingMode = AudioMixingMode.TALK_AND_MUSIC
40
40
  private var id: String = sdkId
41
41
  private var self = this
42
42
 
43
43
  init {
44
- val trackSettings = HMSHelper.getTrackSettings(data?.getMap("trackSettings"))
45
- if (trackSettings == null) {
46
- this.hmsSDK = HMSSDK.Builder(reactApplicationContext).build()
44
+ val builder = HMSSDK.Builder(reactApplicationContext)
45
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackSettings", "Map")))) {
46
+ val trackSettings = HMSHelper.getTrackSettings(data?.getMap("trackSettings"))
47
+ if (trackSettings != null) {
48
+ builder.setTrackSettings(trackSettings)
49
+ }
50
+ }
51
+
52
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("frameworkInfo", "Map")))) {
53
+ val frameworkInfo = HMSHelper.getFrameworkInfo(data?.getMap("frameworkInfo"))
54
+ if (frameworkInfo != null) {
55
+ builder.setFrameworkInfo(frameworkInfo)
56
+ } else {
57
+ emitCustomError("Unable to decode framework info")
58
+ }
47
59
  } else {
48
- this.hmsSDK = HMSSDK.Builder(reactApplicationContext).setTrackSettings(trackSettings).build()
60
+ emitCustomError("Framework info not sent in build function")
61
+ }
62
+
63
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("logSettings", "Map")))) {
64
+ val logSettings = HMSHelper.getLogSettings(data?.getMap("logSettings"))
65
+ if (logSettings != null) {
66
+ builder.setLogSettings(logSettings)
67
+ }
49
68
  }
69
+
70
+ this.hmsSDK = builder.build()
50
71
  }
51
72
 
52
73
  private fun emitCustomError(message: String) {
@@ -127,19 +148,17 @@ class HMSRNSDK(
127
148
  ) {
128
149
  return
129
150
  }
151
+ if (!networkQualityUpdatesAttached && type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
152
+ ) {
153
+ return
154
+ }
130
155
  val updateType = type.name
131
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
132
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
133
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
134
156
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
135
157
 
136
158
  val data: WritableMap = Arguments.createMap()
137
159
 
138
160
  data.putMap("peer", hmsPeer)
139
- data.putMap("room", roomData)
140
161
  data.putString("type", updateType)
141
- data.putMap("localPeer", localPeerData)
142
- data.putArray("remotePeers", remotePeerData)
143
162
  data.putString("id", id)
144
163
  delegate.emitEvent("ON_PEER_UPDATE", data)
145
164
  }
@@ -147,15 +166,11 @@ class HMSRNSDK(
147
166
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
148
167
  val updateType = type.name
149
168
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
150
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
151
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
152
169
 
153
170
  val data: WritableMap = Arguments.createMap()
154
171
 
155
172
  data.putString("type", updateType)
156
173
  data.putMap("room", roomData)
157
- data.putMap("localPeer", localPeerData)
158
- data.putArray("remotePeers", remotePeerData)
159
174
  data.putString("id", id)
160
175
  delegate.emitEvent("ON_ROOM_UPDATE", data)
161
176
  }
@@ -163,12 +178,10 @@ class HMSRNSDK(
163
178
  override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
164
179
  val previewTracks = HMSDecoder.getPreviewTracks(localTracks)
165
180
  val hmsRoom = HMSDecoder.getHmsRoom(room)
166
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
167
181
  val data: WritableMap = Arguments.createMap()
168
182
 
169
- data.putMap("previewTracks", previewTracks)
183
+ data.putArray("previewTracks", previewTracks)
170
184
  data.putMap("room", hmsRoom)
171
- data.putMap("localPeer", localPeerData)
172
185
  data.putString("id", id)
173
186
  delegate.emitEvent("ON_PREVIEW", data)
174
187
  previewInProgress = false
@@ -232,16 +245,10 @@ class HMSRNSDK(
232
245
 
233
246
  override fun onJoin(room: HMSRoom) {
234
247
  val roomData = HMSDecoder.getHmsRoom(room)
235
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
236
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
237
- val roles = HMSDecoder.getAllRoles(hmsSDK?.getRoles())
238
248
 
239
249
  val data: WritableMap = Arguments.createMap()
240
250
 
241
251
  data.putMap("room", roomData)
242
- data.putMap("localPeer", localPeerData)
243
- data.putArray("remotePeers", remotePeerData)
244
- data.putArray("roles", roles)
245
252
  data.putString("id", id)
246
253
  delegate.emitEvent("ON_JOIN", data)
247
254
  }
@@ -257,19 +264,18 @@ class HMSRNSDK(
257
264
  ) {
258
265
  return
259
266
  }
267
+ if (!networkQualityUpdatesAttached &&
268
+ type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
269
+ ) {
270
+ return
271
+ }
260
272
  val updateType = type.name
261
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
262
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
263
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
264
273
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
265
274
 
266
275
  val data: WritableMap = Arguments.createMap()
267
276
 
268
277
  data.putMap("peer", hmsPeer)
269
- data.putMap("room", roomData)
270
278
  data.putString("type", updateType)
271
- data.putMap("localPeer", localPeerData)
272
- data.putArray("remotePeers", remotePeerData)
273
279
  data.putString("id", id)
274
280
  delegate.emitEvent("ON_PEER_UPDATE", data)
275
281
  }
@@ -277,24 +283,17 @@ class HMSRNSDK(
277
283
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
278
284
  val updateType = type.name
279
285
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
280
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
281
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
282
286
 
283
287
  val data: WritableMap = Arguments.createMap()
284
288
 
285
289
  data.putString("type", updateType)
286
290
  data.putMap("room", roomData)
287
- data.putMap("localPeer", localPeerData)
288
- data.putArray("remotePeers", remotePeerData)
289
291
  data.putString("id", id)
290
292
  delegate.emitEvent("ON_ROOM_UPDATE", data)
291
293
  }
292
294
 
293
295
  override fun onTrackUpdate(type: HMSTrackUpdate, track: HMSTrack, peer: HMSPeer) {
294
296
  val updateType = type.name
295
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
296
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
297
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
298
297
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
299
298
  val hmsTrack = HMSDecoder.getHmsTrack(track)
300
299
 
@@ -302,10 +301,7 @@ class HMSRNSDK(
302
301
 
303
302
  data.putMap("peer", hmsPeer)
304
303
  data.putMap("track", hmsTrack)
305
- data.putMap("room", roomData)
306
304
  data.putString("type", updateType)
307
- data.putMap("localPeer", localPeerData)
308
- data.putArray("remotePeers", remotePeerData)
309
305
  data.putString("id", id)
310
306
  delegate.emitEvent("ON_TRACK_UPDATE", data)
311
307
  }
@@ -507,6 +503,8 @@ class HMSRNSDK(
507
503
  isAudioSharing = false
508
504
  screenshareCallback = null
509
505
  audioshareCallback = null
506
+ networkQualityUpdatesAttached = false
507
+ rtcStatsAttached = false
510
508
  callback?.resolve(emitHMSSuccess())
511
509
  }
512
510
 
@@ -938,6 +936,21 @@ class HMSRNSDK(
938
936
  callback?.resolve(roomData)
939
937
  }
940
938
 
939
+ fun getLocalPeer(callback: Promise?) {
940
+ val localPeer = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
941
+ callback?.resolve(localPeer)
942
+ }
943
+
944
+ fun getRemotePeers(callback: Promise?) {
945
+ val remotePeers = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
946
+ callback?.resolve(remotePeers)
947
+ }
948
+
949
+ fun getRoles(callback: Promise?) {
950
+ val roles = HMSDecoder.getAllRoles(hmsSDK?.getRoles())
951
+ callback?.resolve(roles)
952
+ }
953
+
941
954
  fun setVolume(data: ReadableMap) {
942
955
  val requiredKeys =
943
956
  HMSHelper.getUnavailableRequiredKey(
@@ -1194,6 +1207,14 @@ class HMSRNSDK(
1194
1207
  rtcStatsAttached = false
1195
1208
  }
1196
1209
 
1210
+ fun enableNetworkQualityUpdates() {
1211
+ networkQualityUpdatesAttached = true
1212
+ }
1213
+
1214
+ fun disableNetworkQualityUpdates() {
1215
+ networkQualityUpdatesAttached = false
1216
+ }
1217
+
1197
1218
  fun getAudioDevicesList(callback: Promise?) {
1198
1219
  callback?.resolve(HMSHelper.getAudioDevicesList(hmsSDK?.getAudioDevicesList()))
1199
1220
  }
@@ -31,7 +31,7 @@ class HMSView(context: ReactContext) : FrameLayout(context) {
31
31
  val view = inflater.inflate(R.layout.hms_view, this)
32
32
 
33
33
  surfaceView = view.findViewById(R.id.surfaceView)
34
- surfaceView.setEnableHardwareScaler(true)
34
+ surfaceView.setEnableHardwareScaler(false)
35
35
  }
36
36
 
37
37
  @RequiresApi(Build.VERSION_CODES.N)