@100mslive/react-native-hms 0.9.93 → 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 (374) hide show
  1. package/README.md +54 -13
  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 +10 -13
  27. package/ios/HMSHelper.swift +52 -22
  28. package/ios/HMSManager.m +5 -0
  29. package/ios/HMSManager.swift +48 -14
  30. package/ios/HMSRNSDK.swift +47 -30
  31. package/lib/commonjs/classes/HMSAudioCodec.js +0 -1
  32. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  33. package/lib/commonjs/classes/HMSAudioDevice.js +0 -1
  34. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  35. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js +0 -14
  36. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  37. package/lib/commonjs/classes/HMSAudioMixerSource.js +0 -6
  38. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  39. package/lib/commonjs/classes/HMSAudioMixingMode.js +0 -1
  40. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  41. package/lib/commonjs/classes/HMSAudioMode.js +0 -1
  42. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  43. package/lib/commonjs/classes/HMSAudioNode.js +0 -7
  44. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  45. package/lib/commonjs/classes/HMSAudioSettings.js +0 -6
  46. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  47. package/lib/commonjs/classes/HMSAudioTrack.js +0 -4
  48. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  49. package/lib/commonjs/classes/HMSAudioTrackSettings.js +6 -16
  50. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  51. package/lib/commonjs/classes/HMSBrowserRecordingState.js +0 -8
  52. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  53. package/lib/commonjs/classes/HMSCameraFacing.js +0 -1
  54. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  55. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +0 -7
  56. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  57. package/lib/commonjs/classes/HMSConfig.js +0 -9
  58. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  59. package/lib/commonjs/classes/HMSEncoder.js +10 -85
  60. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  61. package/lib/commonjs/classes/HMSException.js +2 -11
  62. package/lib/commonjs/classes/HMSException.js.map +1 -1
  63. package/lib/commonjs/classes/HMSHLSConfig.js +0 -6
  64. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  65. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +0 -6
  66. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  67. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +0 -6
  68. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  69. package/lib/commonjs/classes/HMSHLSRecordingState.js +0 -8
  70. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  71. package/lib/commonjs/classes/HMSHLSStreamingState.js +0 -6
  72. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  73. package/lib/commonjs/classes/HMSHLSVariant.js +0 -8
  74. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  75. package/lib/commonjs/classes/HMSHelper.js +0 -3
  76. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  77. package/lib/commonjs/classes/HMSLocalAudioStats.js +0 -7
  78. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  79. package/lib/commonjs/classes/HMSLocalAudioTrack.js +0 -15
  80. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  81. package/lib/commonjs/classes/HMSLocalPeer.js +0 -14
  82. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  83. package/lib/commonjs/classes/HMSLocalVideoStats.js +0 -9
  84. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  85. package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -15
  86. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  87. package/lib/commonjs/classes/HMSLogAlarmManager.js +14 -0
  88. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -0
  89. package/lib/commonjs/classes/HMSLogLevel.js +0 -1
  90. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  91. package/lib/commonjs/classes/HMSLogSettings.js +19 -0
  92. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -0
  93. package/lib/commonjs/classes/HMSLogger.js +0 -30
  94. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  95. package/lib/commonjs/classes/HMSMessage.js +1 -9
  96. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  97. package/lib/commonjs/classes/HMSMessageRecipient.js +0 -7
  98. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  99. package/lib/commonjs/classes/HMSMessageRecipientType.js +0 -1
  100. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  101. package/lib/commonjs/classes/HMSMicNode.js +0 -7
  102. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  103. package/lib/commonjs/classes/HMSNetworkQuality.js +0 -5
  104. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  105. package/lib/commonjs/classes/HMSPeer.js +0 -15
  106. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  107. package/lib/commonjs/classes/HMSPeerUpdate.js +0 -1
  108. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  109. package/lib/commonjs/classes/HMSPermissions.js +0 -12
  110. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  111. package/lib/commonjs/classes/HMSPublishSettings.js +0 -11
  112. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  113. package/lib/commonjs/classes/HMSRTCStats.js +0 -11
  114. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  115. package/lib/commonjs/classes/HMSRTCStatsReport.js +0 -7
  116. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  117. package/lib/commonjs/classes/HMSRTMPConfig.js +0 -8
  118. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  119. package/lib/commonjs/classes/HMSRemoteAudioStats.js +0 -9
  120. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  121. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +0 -10
  122. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  123. package/lib/commonjs/classes/HMSRemotePeer.js +0 -14
  124. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  125. package/lib/commonjs/classes/HMSRemoteVideoStats.js +0 -11
  126. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  127. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +0 -12
  128. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  129. package/lib/commonjs/classes/HMSRole.js +0 -12
  130. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  131. package/lib/commonjs/classes/HMSRoleChangeRequest.js +0 -6
  132. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  133. package/lib/commonjs/classes/HMSRoom.js +0 -15
  134. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  135. package/lib/commonjs/classes/HMSRoomUpdate.js +0 -1
  136. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  137. package/lib/commonjs/classes/HMSRtmpStreamingState.js +0 -8
  138. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  139. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +0 -6
  140. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  141. package/lib/commonjs/classes/HMSSDK.js +134 -379
  142. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  143. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js +0 -4
  144. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  145. package/lib/commonjs/classes/HMSServerRecordingState.js +0 -7
  146. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  147. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +0 -8
  148. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  149. package/lib/commonjs/classes/HMSSimulcastSettings.js +0 -6
  150. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  151. package/lib/commonjs/classes/HMSSpeaker.js +0 -7
  152. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  153. package/lib/commonjs/classes/HMSSubscribeSettings.js +2 -9
  154. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  155. package/lib/commonjs/classes/HMSTrack.js +0 -11
  156. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  157. package/lib/commonjs/classes/HMSTrackSettings.js +0 -9
  158. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  159. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +13 -0
  160. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -0
  161. package/lib/commonjs/classes/HMSTrackSource.js +0 -1
  162. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  163. package/lib/commonjs/classes/HMSTrackType.js +0 -1
  164. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  165. package/lib/commonjs/classes/HMSTrackUpdate.js +0 -1
  166. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  167. package/lib/commonjs/classes/HMSUpdateListenerActions.js +0 -1
  168. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  169. package/lib/commonjs/classes/HMSVideoCodec.js +0 -1
  170. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  171. package/lib/commonjs/classes/HMSVideoResolution.js +0 -6
  172. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  173. package/lib/commonjs/classes/HMSVideoSettings.js +0 -9
  174. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  175. package/lib/commonjs/classes/HMSVideoTrack.js +0 -11
  176. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  177. package/lib/commonjs/classes/HMSVideoTrackSettings.js +11 -23
  178. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  179. package/lib/commonjs/classes/HMSVideoViewMode.js +0 -1
  180. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  181. package/lib/commonjs/classes/HmsView.js +7 -25
  182. package/lib/commonjs/classes/HmsView.js.map +1 -1
  183. package/lib/commonjs/index.js +36 -144
  184. package/lib/commonjs/index.js.map +1 -1
  185. package/lib/module/classes/HMSAudioCodec.js +0 -1
  186. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  187. package/lib/module/classes/HMSAudioDevice.js +0 -1
  188. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  189. package/lib/module/classes/HMSAudioFilePlayerNode.js +0 -9
  190. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  191. package/lib/module/classes/HMSAudioMixerSource.js +0 -4
  192. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  193. package/lib/module/classes/HMSAudioMixingMode.js +0 -1
  194. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  195. package/lib/module/classes/HMSAudioMode.js +0 -1
  196. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  197. package/lib/module/classes/HMSAudioNode.js +0 -5
  198. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  199. package/lib/module/classes/HMSAudioSettings.js +0 -4
  200. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  201. package/lib/module/classes/HMSAudioTrack.js +0 -1
  202. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  203. package/lib/module/classes/HMSAudioTrackSettings.js +6 -14
  204. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  205. package/lib/module/classes/HMSBrowserRecordingState.js +0 -6
  206. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  207. package/lib/module/classes/HMSCameraFacing.js +0 -1
  208. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  209. package/lib/module/classes/HMSChangeTrackStateRequest.js +0 -5
  210. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  211. package/lib/module/classes/HMSConfig.js +0 -7
  212. package/lib/module/classes/HMSConfig.js.map +1 -1
  213. package/lib/module/classes/HMSEncoder.js +10 -53
  214. package/lib/module/classes/HMSEncoder.js.map +1 -1
  215. package/lib/module/classes/HMSException.js +2 -9
  216. package/lib/module/classes/HMSException.js.map +1 -1
  217. package/lib/module/classes/HMSHLSConfig.js +0 -4
  218. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  219. package/lib/module/classes/HMSHLSMeetingURLVariant.js +0 -4
  220. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  221. package/lib/module/classes/HMSHLSRecordingConfig.js +0 -4
  222. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  223. package/lib/module/classes/HMSHLSRecordingState.js +0 -6
  224. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  225. package/lib/module/classes/HMSHLSStreamingState.js +0 -4
  226. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  227. package/lib/module/classes/HMSHLSVariant.js +0 -6
  228. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  229. package/lib/module/classes/HMSHelper.js +0 -1
  230. package/lib/module/classes/HMSHelper.js.map +1 -1
  231. package/lib/module/classes/HMSLocalAudioStats.js +0 -5
  232. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  233. package/lib/module/classes/HMSLocalAudioTrack.js +0 -9
  234. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  235. package/lib/module/classes/HMSLocalPeer.js +0 -9
  236. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  237. package/lib/module/classes/HMSLocalVideoStats.js +0 -7
  238. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  239. package/lib/module/classes/HMSLocalVideoTrack.js +0 -9
  240. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  241. package/lib/module/classes/HMSLogAlarmManager.js +7 -0
  242. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -0
  243. package/lib/module/classes/HMSLogLevel.js +0 -1
  244. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  245. package/lib/module/classes/HMSLogSettings.js +12 -0
  246. package/lib/module/classes/HMSLogSettings.js.map +1 -0
  247. package/lib/module/classes/HMSLogger.js +0 -22
  248. package/lib/module/classes/HMSLogger.js.map +1 -1
  249. package/lib/module/classes/HMSMessage.js +1 -7
  250. package/lib/module/classes/HMSMessage.js.map +1 -1
  251. package/lib/module/classes/HMSMessageRecipient.js +0 -5
  252. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  253. package/lib/module/classes/HMSMessageRecipientType.js +0 -1
  254. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  255. package/lib/module/classes/HMSMicNode.js +0 -2
  256. package/lib/module/classes/HMSMicNode.js.map +1 -1
  257. package/lib/module/classes/HMSNetworkQuality.js +0 -3
  258. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  259. package/lib/module/classes/HMSPeer.js +0 -13
  260. package/lib/module/classes/HMSPeer.js.map +1 -1
  261. package/lib/module/classes/HMSPeerUpdate.js +0 -1
  262. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  263. package/lib/module/classes/HMSPermissions.js +0 -10
  264. package/lib/module/classes/HMSPermissions.js.map +1 -1
  265. package/lib/module/classes/HMSPublishSettings.js +0 -9
  266. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  267. package/lib/module/classes/HMSRTCStats.js +0 -9
  268. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  269. package/lib/module/classes/HMSRTCStatsReport.js +0 -5
  270. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  271. package/lib/module/classes/HMSRTMPConfig.js +0 -6
  272. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  273. package/lib/module/classes/HMSRemoteAudioStats.js +0 -7
  274. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  275. package/lib/module/classes/HMSRemoteAudioTrack.js +0 -4
  276. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  277. package/lib/module/classes/HMSRemotePeer.js +0 -9
  278. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  279. package/lib/module/classes/HMSRemoteVideoStats.js +0 -9
  280. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  281. package/lib/module/classes/HMSRemoteVideoTrack.js +0 -6
  282. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  283. package/lib/module/classes/HMSRole.js +0 -10
  284. package/lib/module/classes/HMSRole.js.map +1 -1
  285. package/lib/module/classes/HMSRoleChangeRequest.js +0 -4
  286. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  287. package/lib/module/classes/HMSRoom.js +0 -13
  288. package/lib/module/classes/HMSRoom.js.map +1 -1
  289. package/lib/module/classes/HMSRoomUpdate.js +0 -1
  290. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  291. package/lib/module/classes/HMSRtmpStreamingState.js +0 -6
  292. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  293. package/lib/module/classes/HMSRtmpVideoResolution.js +0 -4
  294. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  295. package/lib/module/classes/HMSSDK.js +134 -333
  296. package/lib/module/classes/HMSSDK.js.map +1 -1
  297. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js +0 -1
  298. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  299. package/lib/module/classes/HMSServerRecordingState.js +0 -5
  300. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  301. package/lib/module/classes/HMSSimulcastLayerSettings.js +0 -6
  302. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  303. package/lib/module/classes/HMSSimulcastSettings.js +0 -4
  304. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  305. package/lib/module/classes/HMSSpeaker.js +0 -5
  306. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  307. package/lib/module/classes/HMSSubscribeSettings.js +2 -7
  308. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  309. package/lib/module/classes/HMSTrack.js +0 -9
  310. package/lib/module/classes/HMSTrack.js.map +1 -1
  311. package/lib/module/classes/HMSTrackSettings.js +0 -7
  312. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  313. package/lib/module/classes/HMSTrackSettingsInitState.js +6 -0
  314. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -0
  315. package/lib/module/classes/HMSTrackSource.js +0 -1
  316. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  317. package/lib/module/classes/HMSTrackType.js +0 -1
  318. package/lib/module/classes/HMSTrackType.js.map +1 -1
  319. package/lib/module/classes/HMSTrackUpdate.js +0 -1
  320. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  321. package/lib/module/classes/HMSUpdateListenerActions.js +0 -1
  322. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  323. package/lib/module/classes/HMSVideoCodec.js +0 -1
  324. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  325. package/lib/module/classes/HMSVideoResolution.js +0 -4
  326. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  327. package/lib/module/classes/HMSVideoSettings.js +0 -7
  328. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  329. package/lib/module/classes/HMSVideoTrack.js +0 -8
  330. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  331. package/lib/module/classes/HMSVideoTrackSettings.js +11 -21
  332. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  333. package/lib/module/classes/HMSVideoViewMode.js +0 -1
  334. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  335. package/lib/module/classes/HmsView.js +7 -14
  336. package/lib/module/classes/HmsView.js.map +1 -1
  337. package/lib/module/index.js +3 -0
  338. package/lib/module/index.js.map +1 -1
  339. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +5 -7
  340. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  341. package/lib/typescript/classes/HMSEncoder.d.ts +2 -5
  342. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +5 -0
  343. package/lib/typescript/classes/HMSLogSettings.d.ts +12 -0
  344. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  345. package/lib/typescript/classes/HMSSDK.d.ts +40 -14
  346. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  347. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +2 -2
  348. package/lib/typescript/classes/HMSTrackSettings.d.ts +0 -2
  349. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +4 -0
  350. package/lib/typescript/classes/HMSVideoTrack.d.ts +0 -2
  351. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +10 -15
  352. package/lib/typescript/index.d.ts +3 -0
  353. package/package.json +1 -1
  354. package/react-native-hms.podspec +2 -2
  355. package/src/classes/HMSAudioTrackSettings.ts +8 -10
  356. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  357. package/src/classes/HMSEncoder.ts +11 -20
  358. package/src/classes/HMSLogAlarmManager.ts +5 -0
  359. package/src/classes/HMSLogSettings.ts +18 -0
  360. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  361. package/src/classes/HMSSDK.tsx +122 -146
  362. package/src/classes/HMSServerRecordingState.ts +2 -2
  363. package/src/classes/HMSSubscribeSettings.ts +3 -3
  364. package/src/classes/HMSTrackSettings.ts +0 -3
  365. package/src/classes/HMSTrackSettingsInitState.ts +4 -0
  366. package/src/classes/HMSVideoTrack.ts +0 -2
  367. package/src/classes/HMSVideoTrackSettings.ts +14 -21
  368. package/src/index.ts +3 -0
  369. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +0 -14
  370. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +0 -13
  371. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +0 -13
  372. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +0 -15
  373. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_7_aar.xml +0 -11
  374. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_hms_1_1_aar.xml +0 -11
@@ -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)
@@ -154,22 +154,19 @@ class HMSDecoder: NSObject {
154
154
 
155
155
  guard let settings = hmsAudioTrackSettings else { return [:] }
156
156
 
157
- let maxBitrate = settings.maxBitrate
158
- let trackDescription = settings.trackDescription ?? ""
157
+ // TODO: parsing not done for audioSource
158
+ let audioSource = settings.audioSource
159
+ let initialState = HMSHelper.getHMSTrackInitState(settings.initialMuteState)
159
160
 
160
- return ["maxBitrate": maxBitrate, "trackDescription": trackDescription]
161
+ return ["audioSource": audioSource, "initialState": initialState]
161
162
  }
162
163
 
163
164
  static func getHmsVideoTrackSettings(_ hmsVideoTrackSettings: HMSVideoTrackSettings?) -> [String: Any] {
164
165
 
165
166
  guard let settings = hmsVideoTrackSettings else { return [:] }
166
167
 
167
- let codec = getHmsVideoTrackCodec(settings.codec)
168
- let resolution = getHmsVideoResolution(settings.resolution)
169
- let maxBitrate = settings.maxBitrate
170
- let maxFrameRate = settings.maxFrameRate
171
168
  let cameraFacing = getHmsVideoTrackCameraFacing(settings.cameraFacing)
172
- let trackDescription = settings.trackDescription ?? ""
169
+ let initialState = HMSHelper.getHMSTrackInitState(settings.initialMuteState)
173
170
 
174
171
  var simulcastSettingsData = [[String: Any]]()
175
172
  if let simulcastSettings = settings.simulcastSettings {
@@ -182,7 +179,7 @@ class HMSDecoder: NSObject {
182
179
  }
183
180
  }
184
181
 
185
- return ["codec": codec, "resolution": resolution, "maxBitrate": maxBitrate, "maxFrameRate": maxFrameRate, "cameraFacing": cameraFacing, "trackDescription": trackDescription, "simulcastSettings": simulcastSettingsData]
182
+ return ["initialState": initialState, "cameraFacing": cameraFacing, "simulcastSettings": simulcastSettingsData]
186
183
  }
187
184
 
188
185
  static func getHmsVideoTrackCodec(_ codec: HMSCodec) -> String {
@@ -270,21 +267,21 @@ class HMSDecoder: NSObject {
270
267
  return ["trackId": remoteVideo.trackId, "source": remoteVideo.source, "trackDescription": remoteVideo.trackDescription, "layer": remoteVideo.layer.rawValue, "playbackAllowed": remoteVideo.isPlaybackAllowed(), "isMute": remoteVideo.isMute(), "isDegraded": remoteVideo.isDegraded(), "type": type, "kind": type]
271
268
  }
272
269
 
273
- static func getPreviewTracks(_ tracks: [HMSTrack]) -> [String: Any] {
270
+ static func getPreviewTracks(_ tracks: [HMSTrack]) -> [[String: Any]] {
274
271
 
275
- var hmsTracks = [String: Any]()
272
+ var hmsTracks = [[String: Any]]()
276
273
 
277
274
  for track in tracks {
278
275
  if let localVideo = track as? HMSLocalVideoTrack {
279
276
  let type = HMSHelper.getHmsTrackType(localVideo.kind) ?? ""
280
277
  let localVideoTrackData: [String: Any] = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute(), "kind": type, "type": type]
281
- hmsTracks["videoTrack"] = localVideoTrackData
278
+ hmsTracks.append(localVideoTrackData)
282
279
  }
283
280
 
284
281
  if let localAudio = track as? HMSLocalAudioTrack {
285
282
  let type = HMSHelper.getHmsTrackType(localAudio.kind) ?? ""
286
283
  let localAudioTrackData: [String: Any] = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute(), "kind": type, "type": type]
287
- hmsTracks["audioTrack"] = localAudioTrackData
284
+ hmsTracks.append(localAudioTrackData)
288
285
  }
289
286
  }
290
287
  return hmsTracks
@@ -136,38 +136,47 @@ class HMSHelper: NSObject {
136
136
  return hms
137
137
  }
138
138
 
139
- static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
140
- guard let data = settings,
141
- let codec = data.value(forKey: "codec") as? String,
142
- let resolution = data.value(forKey: "resolution") as? [String: Double]?,
143
- let maxBitrate = data.value(forKey: "maxBitrate") as? Int,
144
- let maxFrameRate = data.value(forKey: "maxFrameRate") as? Int,
145
- let cameraFacing = data.value(forKey: "cameraFacing") as? String,
146
- let trackDescription = data.value(forKey: "trackDescription") as? String?,
147
- let resolutionObj = HMSHelper.getVideoResolution(resolution ?? [:])
139
+ static func getFrameworkInfo(_ frameworkInfo: NSDictionary?) -> HMSFrameworkInfo? {
140
+ guard let data = frameworkInfo,
141
+ let version = data.value(forKey: "version") as? String,
142
+ let sdkVersion = data.value(forKey: "sdkVersion") as? String
148
143
  else {
149
144
  return nil
150
145
  }
151
- let codecEncoded = HMSHelper.getVideoCodec(codec)
146
+ return HMSFrameworkInfo(type: HMSFrameworkType.reactNative, version: version, sdkVersion: sdkVersion)
147
+ }
148
+
149
+ static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
150
+ if (settings === nil) {
151
+ return nil
152
+ }
153
+ let codec = HMSCodec.VP8
154
+ let resolution = HMSVideoResolution.init(width: 320, height: 180)
155
+ let maxBitrate = 512
156
+ let maxFrameRate = 25
157
+ let trackDescription = "video track description"
158
+ let cameraFacing = settings?.value(forKey: "cameraFacing") as? String
152
159
  let cameraFacingEncoded = HMSHelper.getCameraFacing(cameraFacing)
153
- let hmsTrackSettings = HMSVideoTrackSettings(codec: codecEncoded,
154
- resolution: resolutionObj,
160
+ let initialState = settings?.value(forKey: "initialState") as? String
161
+ let initialStateEncoded = HMSHelper.getHMSTrackSettingsInitState(initialState)
162
+ let hmsTrackSettings = HMSVideoTrackSettings(codec: codec,
163
+ resolution: resolution,
155
164
  maxBitrate: maxBitrate,
156
165
  maxFrameRate: maxFrameRate,
157
166
  cameraFacing: cameraFacingEncoded,
167
+ simulcastSettings: nil,
158
168
  trackDescription: trackDescription,
169
+ initialMuteState: initialStateEncoded,
159
170
  videoPlugins: nil)
160
171
  return hmsTrackSettings
161
172
  }
162
173
 
163
174
  static func getLocalAudioSettings(_ settings: NSDictionary?, _ hms: HMSSDK?, _ delegate: HMSManager?, _ id: String) -> HMSAudioTrackSettings? {
164
- guard let data = settings,
165
- let maxBitrate = data.value(forKey: "maxBitrate") as? Int
166
- else {
175
+ if (settings === nil) {
167
176
  return nil
168
177
  }
169
- let trackDescription = data.value(forKey: "trackDescription") as? String
170
- let hmsTrackSettings = HMSAudioTrackSettings(maxBitrate: maxBitrate, trackDescription: trackDescription)
178
+ let initialState = settings?.value(forKey: "initialState") as? String
179
+ let initialStateEncoded = HMSHelper.getHMSTrackSettingsInitState(initialState)
171
180
  if #available(iOS 13.0, *) {
172
181
  var audioMixerSourceMap = [String: HMSAudioNode]()
173
182
  if let playerNode = settings?.value(forKey: "audioSource") as? [String] {
@@ -190,14 +199,13 @@ class HMSHelper: NSObject {
190
199
  do {
191
200
  self.audioMixerSourceHashMap = audioMixerSourceMap
192
201
  let audioMixerSource = try HMSAudioMixerSource(nodes: audioMixerSourceMap.values.map {$0})
193
- return HMSAudioTrackSettings(maxBitrate: maxBitrate, trackDescription: trackDescription, audioSource: audioMixerSource)
202
+ return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "audio track description", initialMuteState: initialStateEncoded, audioSource: audioMixerSource)
194
203
  } catch {
195
204
  delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
196
- return hmsTrackSettings
205
+ return nil
197
206
  }
198
- } else {
199
- return hmsTrackSettings
200
207
  }
208
+ return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "audio track description", initialMuteState: initialStateEncoded, audioSource: nil)
201
209
  }
202
210
 
203
211
  static func getAudioMixerSourceMap() -> [String: HMSAudioNode]? {
@@ -225,7 +233,7 @@ class HMSHelper: NSObject {
225
233
  }
226
234
  }
227
235
 
228
- static func getCameraFacing(_ cameraFacing: String) -> HMSCameraFacing {
236
+ static func getCameraFacing(_ cameraFacing: String?) -> HMSCameraFacing {
229
237
  switch cameraFacing {
230
238
  case "FRONT":
231
239
  return HMSCameraFacing.front
@@ -235,6 +243,28 @@ class HMSHelper: NSObject {
235
243
  return HMSCameraFacing.front
236
244
  }
237
245
  }
246
+
247
+ static func getHMSTrackSettingsInitState(_ initState: String?) -> HMSTrackMuteState {
248
+ switch initState {
249
+ case "MUTED":
250
+ return HMSTrackMuteState.mute
251
+ case "UNMUTED":
252
+ return HMSTrackMuteState.unmute
253
+ default:
254
+ return HMSTrackMuteState.unmute
255
+ }
256
+ }
257
+
258
+ static func getHMSTrackInitState(_ initState: HMSTrackMuteState?) -> String {
259
+ switch initState {
260
+ case .mute:
261
+ return "MUTED"
262
+ case .unmute:
263
+ return "UNMUTED"
264
+ default:
265
+ return "UNMUTED"
266
+ }
267
+ }
238
268
 
239
269
  static func getRtmpUrls(_ strings: [String]?) -> [URL]? {
240
270
  if let extractedStrings = strings {
package/ios/HMSManager.m CHANGED
@@ -48,4 +48,9 @@ RCT_EXTERN_METHOD(pauseAudioShare: (NSDictionary) data)
48
48
  RCT_EXTERN_METHOD(audioShareIsPlaying: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
49
49
  RCT_EXTERN_METHOD(audioShareCurrentTime: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
50
50
  RCT_EXTERN_METHOD(audioShareDuration: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
51
+ RCT_EXTERN_METHOD(getLocalPeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
52
+ RCT_EXTERN_METHOD(getRemotePeers: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
53
+ RCT_EXTERN_METHOD(getRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
54
+ RCT_EXTERN_METHOD(enableNetworkQualityUpdates: (NSDictionary) data)
55
+ RCT_EXTERN_METHOD(disableNetworkQualityUpdates: (NSDictionary) data)
51
56
  @end
@@ -204,20 +204,6 @@ class HMSManager: RCTEventEmitter {
204
204
  hms?.isPlaybackAllowed(data, resolve, reject)
205
205
  }
206
206
 
207
- @objc
208
- func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
209
- let hms = HMSHelper.getHms(data, hmsCollection)
210
-
211
- hms?.getRoom(data, resolve, reject)
212
- }
213
-
214
- // MARK: - HMS SDK Delegate Callbacks
215
- func emitEvent(_ name: String, _ data: [String: Any]) {
216
- self.sendEvent(withName: name, body: data)
217
- }
218
-
219
- // MARK: Helper Functions
220
-
221
207
  @objc
222
208
  func setPlaybackForAllAudio(_ data: NSDictionary) {
223
209
  let hms = HMSHelper.getHms(data, hmsCollection)
@@ -378,4 +364,52 @@ class HMSManager: RCTEventEmitter {
378
364
 
379
365
  hms?.audioShareDuration(data, resolve, reject)
380
366
  }
367
+
368
+ @objc
369
+ func enableNetworkQualityUpdates(_ data: NSDictionary) {
370
+ let hms = HMSHelper.getHms(data, hmsCollection)
371
+
372
+ hms?.enableNetworkQualityUpdates()
373
+ }
374
+
375
+ @objc
376
+ func disableNetworkQualityUpdates(_ data: NSDictionary) {
377
+ let hms = HMSHelper.getHms(data, hmsCollection)
378
+
379
+ hms?.disableNetworkQualityUpdates()
380
+ }
381
+
382
+ // MARK: - HMS SDK Get APIs
383
+ @objc
384
+ func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
385
+ let hms = HMSHelper.getHms(data, hmsCollection)
386
+
387
+ hms?.getRoom(resolve)
388
+ }
389
+
390
+ @objc
391
+ func getLocalPeer(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
392
+ let hms = HMSHelper.getHms(data, hmsCollection)
393
+
394
+ hms?.getLocalPeer(resolve)
395
+ }
396
+
397
+ @objc
398
+ func getRemotePeers(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
399
+ let hms = HMSHelper.getHms(data, hmsCollection)
400
+
401
+ hms?.getRemotePeers(resolve)
402
+ }
403
+
404
+ @objc
405
+ func getRoles(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
406
+ let hms = HMSHelper.getHms(data, hmsCollection)
407
+
408
+ hms?.getRoles(resolve)
409
+ }
410
+
411
+ // MARK: - HMS SDK Delegate Callbacks
412
+ func emitEvent(_ name: String, _ data: [String: Any]) {
413
+ self.sendEvent(withName: name, body: data)
414
+ }
381
415
  }
@@ -16,7 +16,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
16
16
  var recentRoleChangeRequest: HMSRoleChangeRequest?
17
17
  var delegate: HMSManager?
18
18
  var id: String = "12345"
19
- var rtcStatsAttached = false
20
19
  var recentPreviewTracks: [HMSTrack]? = []
21
20
  private var reconnectingStage: Bool = false
22
21
  private var preferredExtension: String?
@@ -25,6 +24,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
25
24
  private var stopScreenshareResolve: RCTPromiseResolveBlock?
26
25
  private var isScreenShared: Bool? = false
27
26
  private var previewInProgress = false
27
+ private var rtcStatsAttached = false
28
+ private var networkQualityUpdatesAttached = false
28
29
 
29
30
  let ON_PREVIEW = "ON_PREVIEW"
30
31
  let ON_JOIN = "ON_JOIN"
@@ -51,6 +52,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
51
52
  DispatchQueue.main.async { [weak self] in
52
53
  self?.hms = HMSSDK.build { sdk in
53
54
  sdk.appGroup = data?.value(forKey: "appGroup") as? String
55
+ sdk.frameworkInfo = HMSHelper.getFrameworkInfo(data?.value(forKey: "frameworkInfo") as? NSDictionary)
54
56
  let trackSettings = data?.value(forKey: "trackSettings") as? NSDictionary
55
57
  let videoSettings = HMSHelper.getLocalVideoSettings(trackSettings?.value(forKey: "video") as? NSDictionary)
56
58
  let audioSettings = HMSHelper.getLocalAudioSettings(trackSettings?.value(forKey: "audio") as? NSDictionary, sdk, self?.delegate, id)
@@ -205,6 +207,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
205
207
  self?.stopScreenshareResolve = nil
206
208
  self?.startScreenshareResolve = nil
207
209
  self?.isScreenShared = false
210
+ self?.rtcStatsAttached = false
211
+ self?.networkQualityUpdatesAttached = false
208
212
  self?.hms?.leave({ success, error in
209
213
  if success {
210
214
  resolve?(["success": success])
@@ -530,12 +534,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
530
534
  }
531
535
  }
532
536
 
533
- func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
534
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
535
-
536
- resolve?(roomData)
537
- }
538
-
539
537
  func setPlaybackAllowed(_ data: NSDictionary) {
540
538
  guard let trackId = data.value(forKey: "trackId") as? String,
541
539
  let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
@@ -982,56 +980,75 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
982
980
  }
983
981
  }
984
982
 
983
+ func enableNetworkQualityUpdates() {
984
+ networkQualityUpdatesAttached = true
985
+ }
986
+
987
+ func disableNetworkQualityUpdates() {
988
+ networkQualityUpdatesAttached = false
989
+ }
990
+
991
+ // MARK: - HMS SDK Get APIs
992
+ func getRoom(_ resolve: RCTPromiseResolveBlock?) {
993
+ let roomData = HMSDecoder.getHmsRoom(hms?.room)
994
+
995
+ resolve?(roomData)
996
+ }
997
+
998
+ func getLocalPeer(_ resolve: RCTPromiseResolveBlock?) {
999
+ let localPeer = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
1000
+
1001
+ resolve?(localPeer)
1002
+ }
1003
+
1004
+ func getRemotePeers(_ resolve: RCTPromiseResolveBlock?) {
1005
+ let remotePeers = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
1006
+
1007
+ resolve?(remotePeers)
1008
+ }
1009
+
1010
+ func getRoles(_ resolve: RCTPromiseResolveBlock?) {
1011
+ let roles = HMSDecoder.getAllRoles(hms?.roles)
1012
+
1013
+ resolve?(roles)
1014
+ }
1015
+
985
1016
  // MARK: - HMS SDK Delegate Callbacks
986
1017
  func on(join room: HMSRoom) {
987
1018
  let roomData = HMSDecoder.getHmsRoom(room)
988
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
989
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
990
1019
 
991
- let decodedRoles = HMSDecoder.getAllRoles(hms?.roles)
992
1020
  self.recentPreviewTracks = []
993
- self.delegate?.emitEvent(ON_JOIN, ["event": ON_JOIN, "id": self.id, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "roles": decodedRoles])
1021
+ self.delegate?.emitEvent(ON_JOIN, ["event": ON_JOIN, "id": self.id, "room": roomData])
994
1022
  }
995
1023
 
996
1024
  func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
997
1025
  let previewTracks = HMSDecoder.getPreviewTracks(localTracks)
998
1026
  let hmsRoom = HMSDecoder.getHmsRoom(room)
999
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
1000
1027
 
1001
1028
  previewInProgress = false
1002
- self.delegate?.emitEvent(ON_PREVIEW, ["event": ON_PREVIEW, "id": self.id, "room": hmsRoom, "previewTracks": previewTracks, "localPeer": localPeerData])
1029
+ self.delegate?.emitEvent(ON_PREVIEW, ["event": ON_PREVIEW, "id": self.id, "room": hmsRoom, "previewTracks": previewTracks])
1003
1030
  }
1004
1031
 
1005
1032
  func on(room: HMSRoom, update: HMSRoomUpdate) {
1006
- // Listener for any updation in room
1007
1033
  let roomData = HMSDecoder.getHmsRoom(room)
1008
1034
  let type = getString(from: update)
1009
1035
 
1010
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
1011
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
1012
-
1013
- self.delegate?.emitEvent(ON_ROOM_UPDATE, ["event": ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
1036
+ self.delegate?.emitEvent(ON_ROOM_UPDATE, ["event": ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData])
1014
1037
  }
1015
1038
 
1016
1039
  func on(peer: HMSPeer, update: HMSPeerUpdate) {
1017
- // Listener for updates in Peers
1018
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
1019
1040
  let type = getString(from: update)
1020
-
1021
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
1022
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
1023
1041
  let hmsPeer = HMSDecoder.getHmsPeer(peer)
1024
1042
 
1025
- self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData, "peer": hmsPeer])
1043
+ if !networkQualityUpdatesAttached && update == .networkQualityUpdated {
1044
+ return
1045
+ }
1046
+
1047
+ self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "id": self.id, "type": type, "peer": hmsPeer])
1026
1048
  }
1027
1049
 
1028
1050
  func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
1029
- // Listener for updates in Tracks
1030
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
1031
1051
  let type = getString(from: update)
1032
-
1033
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
1034
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
1035
1052
  let hmsPeer = HMSDecoder.getHmsPeer(peer)
1036
1053
  let hmsTrack = HMSDecoder.getHmsTrack(track)
1037
1054
 
@@ -1047,7 +1064,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1047
1064
  }
1048
1065
  }
1049
1066
 
1050
- self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "room": roomData, "type": type, "localPeer": localPeerData, "remotePeers": remotePeerData, "peer": hmsPeer, "track": hmsTrack])
1067
+ self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "type": type, "peer": hmsPeer, "track": hmsTrack])
1051
1068
  }
1052
1069
 
1053
1070
  func on(error: Error) {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.HMSAudioCodec = void 0;
7
7
  let HMSAudioCodec;
8
8
  exports.HMSAudioCodec = HMSAudioCodec;
9
-
10
9
  (function (HMSAudioCodec) {
11
10
  HMSAudioCodec["opus"] = "opus";
12
11
  })(HMSAudioCodec || (exports.HMSAudioCodec = HMSAudioCodec = {}));