@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
@@ -16,15 +16,16 @@ 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
- private var preferredExtension: String? = nil
23
- private var systemBroadcastPicker: RPSystemBroadcastPickerView? = nil
24
- private var startScreenshareResolve: RCTPromiseResolveBlock? = nil
25
- private var stopScreenshareResolve: RCTPromiseResolveBlock? = nil
21
+ private var preferredExtension: String?
22
+ private var systemBroadcastPicker: RPSystemBroadcastPickerView?
23
+ private var startScreenshareResolve: RCTPromiseResolveBlock?
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"
@@ -46,16 +47,16 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
46
47
 
47
48
  // MARK: - Setup
48
49
  init(data: NSDictionary?, delegate manager: HMSManager?, uid id: String) {
49
- let trackSettings = data?.value(forKey: "trackSettings") as? NSDictionary
50
- let videoSettings = HMSHelper.getLocalVideoSettings(trackSettings?.value(forKey: "video") as? NSDictionary)
51
- let audioSettings = HMSHelper.getLocalAudioSettings(trackSettings?.value(forKey: "audio") as? NSDictionary)
52
50
  preferredExtension = data?.value(forKey: "preferredExtension") as? String
53
51
 
54
52
  DispatchQueue.main.async { [weak self] in
55
- let hmsTrackSettings = HMSTrackSettings(videoSettings: videoSettings, audioSettings: audioSettings)
56
53
  self?.hms = HMSSDK.build { sdk in
57
- sdk.trackSettings = hmsTrackSettings
58
54
  sdk.appGroup = data?.value(forKey: "appGroup") as? String
55
+ sdk.frameworkInfo = HMSHelper.getFrameworkInfo(data?.value(forKey: "frameworkInfo") as? NSDictionary)
56
+ let trackSettings = data?.value(forKey: "trackSettings") as? NSDictionary
57
+ let videoSettings = HMSHelper.getLocalVideoSettings(trackSettings?.value(forKey: "video") as? NSDictionary)
58
+ let audioSettings = HMSHelper.getLocalAudioSettings(trackSettings?.value(forKey: "audio") as? NSDictionary, sdk, self?.delegate, id)
59
+ sdk.trackSettings = HMSTrackSettings(videoSettings: videoSettings, audioSettings: audioSettings)
59
60
  }
60
61
  }
61
62
  self.delegate = manager
@@ -66,8 +67,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
66
67
  func preview(_ credentials: NSDictionary) {
67
68
 
68
69
  guard !previewInProgress else {
69
- let error = HMSError(id: "PREVIEW", code: .joinErrorServer, message: "PREVIEW_IS_IN_PROGRESS", params: ["function": #function, "credentials": credentials])
70
- on(error: error)
70
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
71
71
  return
72
72
  }
73
73
 
@@ -81,7 +81,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
81
81
 
82
82
  let metadata = credentials.value(forKey: "metadata") as? String
83
83
  let captureNetworkQualityInPreview = credentials.value(forKey: "captureNetworkQualityInPreview") as? Bool ?? false
84
-
84
+
85
85
  DispatchQueue.main.async { [weak self] in
86
86
  guard let strongSelf = self else { return }
87
87
  if let endpoint = credentials.value(forKey: "endpoint") as? String {
@@ -94,7 +94,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
94
94
  strongSelf.previewInProgress = true
95
95
  }
96
96
  }
97
-
97
+
98
98
  func previewForRole(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
99
99
  guard let role = data.value(forKey: "role") as? String
100
100
  else {
@@ -103,26 +103,26 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
103
103
  reject?(errorMessage, errorMessage, nil)
104
104
  return
105
105
  }
106
-
106
+
107
107
  let roleObj = HMSHelper.getRoleFromRoleName(role, roles: hms?.roles)
108
-
108
+
109
109
  if let extractedRole = roleObj {
110
110
  hms?.preview(role: extractedRole, completion: { tracks, error in
111
- if (error != nil) {
111
+ if error != nil {
112
112
  delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
113
- reject?(error?.message, error?.localizedDescription, nil)
113
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
114
114
  return
115
115
  }
116
116
  self.recentPreviewTracks = tracks
117
-
117
+
118
118
  let decodedTracks = HMSDecoder.getAllTracks(tracks ?? [])
119
-
119
+
120
120
  resolve?(["success": true, "tracks": decodedTracks])
121
121
  return
122
122
  })
123
123
  }
124
124
  }
125
-
125
+
126
126
  func cancelPreview() {
127
127
  self.recentPreviewTracks = []
128
128
  hms?.cancelPreview()
@@ -131,8 +131,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
131
131
  func join(_ credentials: NSDictionary) {
132
132
 
133
133
  guard !previewInProgress else {
134
- let error = HMSError(id: "PREVIEW", code: .joinErrorServer, message: "PREVIEW_IS_IN_PROGRESS", params: ["function": #function, "credentials": credentials])
135
- on(error: error)
134
+ delegate?.emitEvent("ON_ERROR", ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
136
135
  return
137
136
  }
138
137
 
@@ -196,7 +195,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
196
195
  }
197
196
 
198
197
  func leave(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
199
- if(reconnectingStage) {
198
+ if reconnectingStage {
200
199
  reject?("Still in reconnecting stage", "Still in reconnecting stage", nil)
201
200
  } else {
202
201
  DispatchQueue.main.async { [weak self] in
@@ -208,6 +207,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
208
207
  self?.stopScreenshareResolve = nil
209
208
  self?.startScreenshareResolve = nil
210
209
  self?.isScreenShared = false
210
+ self?.rtcStatsAttached = false
211
+ self?.networkQualityUpdatesAttached = false
211
212
  self?.hms?.leave({ success, error in
212
213
  if success {
213
214
  resolve?(["success": success])
@@ -238,7 +239,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
238
239
  return
239
240
  } else {
240
241
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
241
- reject?(error?.message, error?.localizedDescription, nil)
242
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
242
243
  return
243
244
  }
244
245
  })
@@ -264,7 +265,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
264
265
  return
265
266
  } else {
266
267
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
267
- reject?(error?.message, error?.localizedDescription, nil)
268
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
268
269
  return
269
270
  }
270
271
  })
@@ -290,7 +291,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
290
291
  return
291
292
  } else {
292
293
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
293
- reject?(error?.message, error?.localizedDescription, nil)
294
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
294
295
  return
295
296
  }
296
297
  })
@@ -314,7 +315,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
314
315
  resolve?(["success": success])
315
316
  } else {
316
317
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
317
- reject?(error?.message, error?.localizedDescription, nil)
318
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
318
319
  }
319
320
  })
320
321
  self?.recentPreviewTracks = []
@@ -345,7 +346,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
345
346
  resolve?(["success": success])
346
347
  } else {
347
348
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
348
- reject?(error?.message, error?.localizedDescription, nil)
349
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
349
350
  }
350
351
  })
351
352
  }
@@ -366,9 +367,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
366
367
  DispatchQueue.main.async { [weak self] in
367
368
  guard let remotePeers = self?.hms?.remotePeers,
368
369
  let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
369
- else {
370
+ else {
370
371
  reject?("TRACK_NOT_FOUND", "TRACK_NOT_FOUND", nil)
371
- return
372
+ return
372
373
  }
373
374
 
374
375
  self?.hms?.changeTrackState(for: track, mute: mute, completion: { success, error in
@@ -376,7 +377,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
376
377
  resolve?(["success": success])
377
378
  } else {
378
379
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
379
- reject?(error?.message, error?.localizedDescription, nil)
380
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
380
381
  }
381
382
  })
382
383
  }
@@ -411,7 +412,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
411
412
  resolve?(["success": success])
412
413
  } else {
413
414
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
414
- reject?(error?.message, error?.localizedDescription, nil)
415
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
415
416
  }
416
417
  })
417
418
  }
@@ -434,9 +435,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
434
435
  guard let remotePeers = self?.hms?.remotePeers,
435
436
  let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
436
437
  else {
437
- let error = HMSError(id: "120", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
438
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
439
- reject?("TRACK_NOT_FOUND", "TRACK_NOT_FOUND", nil)
438
+ strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
439
+ reject?("Track not found", "Track not found", nil)
440
440
  return
441
441
  }
442
442
  let mute = track.isMute()
@@ -464,9 +464,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
464
464
 
465
465
  guard let remotePeers = self?.hms?.remotePeers,
466
466
  let peer = HMSHelper.getRemotePeerFromPeerId(peerId, remotePeers: remotePeers)
467
- else {
467
+ else {
468
468
  reject?("PEER_NOT_FOUND", "PEER_NOT_FOUND", nil)
469
- return
469
+ return
470
470
  }
471
471
 
472
472
  self?.hms?.removePeer(peer, reason: reason ?? "Removed from room", completion: { success, error in
@@ -474,7 +474,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
474
474
  resolve?(["success": success])
475
475
  } else {
476
476
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
477
- reject?(error?.message, error?.localizedDescription, nil)
477
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
478
478
  }
479
479
  })
480
480
  }
@@ -497,7 +497,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
497
497
  resolve?(["success": success])
498
498
  } else {
499
499
  self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
500
- reject?(error?.message, error?.localizedDescription, nil)
500
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
501
501
  }
502
502
  })
503
503
  }
@@ -534,12 +534,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
534
534
  }
535
535
  }
536
536
 
537
- func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
538
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
539
-
540
- resolve?(roomData)
541
- }
542
-
543
537
  func setPlaybackAllowed(_ data: NSDictionary) {
544
538
  guard let trackId = data.value(forKey: "trackId") as? String,
545
539
  let playbackAllowed = data.value(forKey: "playbackAllowed") as? Bool
@@ -582,7 +576,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
582
576
  return
583
577
  } else {
584
578
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
585
- reject?(error?.message, error?.localizedDescription, nil)
579
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
586
580
  return
587
581
  }
588
582
  })
@@ -606,8 +600,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
606
600
  if remoteAudioTrack != nil {
607
601
  remoteAudioTrack?.setVolume(volume)
608
602
  } else {
609
- let error = HMSError(id: "125", code: HMSErrorCode.genericErrorUnknown, message: "TRACK_NOT_FOUND")
610
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
603
+ strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
611
604
  }
612
605
  }
613
606
  }
@@ -628,9 +621,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
628
621
  if let meetLink = URL(string: meetingString) {
629
622
  meetingUrl = meetLink
630
623
  } else {
631
- let error = HMSError(id: "127", code: HMSErrorCode.genericErrorUnknown, message: "INVALID_MEETING_URL_PASSED")
632
- delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
633
- reject?("INVALID_MEETING_URL_PASSED", "INVALID_MEETING_URL_PASSED", nil)
624
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Invalid meeting url passed", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
625
+ reject?("Invalid meeting url passed", "Invalid meeting url passed", nil)
634
626
  }
635
627
 
636
628
  let URLs = HMSHelper.getRtmpUrls(rtmpStrings)
@@ -648,7 +640,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
648
640
  return
649
641
  } else {
650
642
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
651
- reject?(error?.message, error?.localizedDescription, nil)
643
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
652
644
  return
653
645
  }
654
646
  })
@@ -667,7 +659,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
667
659
  return
668
660
  } else {
669
661
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
670
- reject?(error?.message, error?.localizedDescription, nil)
662
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
671
663
  return
672
664
  }
673
665
  })
@@ -675,9 +667,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
675
667
 
676
668
  func startHLSStreaming(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
677
669
  let recordConfig = HMSHelper.getHlsRecordingConfig(data.value(forKey: "hlsRecordingConfig") as? NSDictionary)
678
- let hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(data.value(forKey: "meetingURLVariants") as? [[String : Any]])
679
- var config: HMSHLSConfig? = nil
680
- if(!hlsMeetingUrlVariant.isEmpty || recordConfig !== nil){
670
+ let hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(data.value(forKey: "meetingURLVariants") as? [[String: Any]])
671
+ var config: HMSHLSConfig?
672
+ if !hlsMeetingUrlVariant.isEmpty || recordConfig !== nil {
681
673
  config = HMSHLSConfig(variants: hlsMeetingUrlVariant, recording: recordConfig)
682
674
  }
683
675
 
@@ -693,7 +685,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
693
685
  return
694
686
  } else {
695
687
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
696
- reject?(error?.message, error?.localizedDescription, nil)
688
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
697
689
  return
698
690
  }
699
691
  })
@@ -712,12 +704,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
712
704
  return
713
705
  } else {
714
706
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
715
- reject?(error?.message, error?.localizedDescription, nil)
707
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
716
708
  return
717
709
  }
718
710
  })
719
711
  }
720
-
712
+
721
713
  func changeName(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
722
714
  guard let name = data.value(forKey: "name") as? String
723
715
  else {
@@ -732,14 +724,14 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
732
724
  resolve?(["success": success])
733
725
  } else {
734
726
  self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
735
- reject?(error?.message, error?.localizedDescription, nil)
727
+ reject?(error?.localizedDescription, error?.localizedDescription, nil)
736
728
  }
737
729
  }
738
730
  }
739
-
731
+
740
732
  func remoteMuteAllAudio(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
741
733
  let allAudioTracks = HMSUtilities.getAllAudioTracks(in: (self.hms?.room)!!)
742
- var customError: HMSError? = nil
734
+ var customError: Error?
743
735
  for audioTrack in allAudioTracks {
744
736
  self.hms?.changeTrackState(for: audioTrack, mute: true, completion: { success, error in
745
737
  if success {
@@ -748,10 +740,10 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
748
740
  }
749
741
  })
750
742
  }
751
- if (customError === nil) {
743
+ if customError == nil {
752
744
  resolve?(["success": true])
753
745
  } else {
754
- reject?(customError?.message, customError?.localizedDescription, nil)
746
+ reject?(customError?.localizedDescription, customError?.localizedDescription, nil)
755
747
  }
756
748
  }
757
749
 
@@ -775,20 +767,19 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
775
767
 
776
768
  self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
777
769
  }
778
-
770
+
779
771
  func enableRTCStats() {
780
772
  rtcStatsAttached = true
781
773
  }
782
-
774
+
783
775
  func disableRTCStats() {
784
776
  rtcStatsAttached = false
785
777
  }
786
778
 
787
779
  func startScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
788
780
  guard let preferredExtension = preferredExtension else {
789
- let error = HMSError(id: "103", code: .genericErrorUnknown, message: "Could not start Screen share, preferredExtension not passed in Build Method", params: ["function": #function])
790
- on(error: error)
791
- reject?(error.message, error.localizedDescription, nil)
781
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Could not start screen share, preferredExtension not passed in Build method", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
782
+ reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
792
783
  return
793
784
  }
794
785
  DispatchQueue.main.async { [weak self] in
@@ -797,7 +788,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
797
788
  self?.systemBroadcastPicker!.preferredExtension = preferredExtension
798
789
  self?.systemBroadcastPicker!.showsMicrophoneButton = false
799
790
  }
800
-
791
+
801
792
  for view in self!.systemBroadcastPicker!.subviews {
802
793
  if let button = view as? UIButton {
803
794
  button.sendActions(for: .allEvents)
@@ -806,12 +797,11 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
806
797
  self?.startScreenshareResolve = resolve
807
798
  }
808
799
  }
809
-
800
+
810
801
  func stopScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
811
802
  guard let preferredExtension = preferredExtension else {
812
- let error = HMSError(id: "103", code: .genericErrorUnknown, message: "Could not start Screen share, preferredExtension not passed in Build Method", params: ["function": #function])
813
- on(error: error)
814
- reject?(error.message, error.localizedDescription, nil)
803
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Could not start screen share, preferredExtension not passed in Build method", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
804
+ reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
815
805
  return
816
806
  }
817
807
  DispatchQueue.main.async { [weak self] in
@@ -820,7 +810,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
820
810
  self?.systemBroadcastPicker!.preferredExtension = preferredExtension
821
811
  self?.systemBroadcastPicker!.showsMicrophoneButton = false
822
812
  }
823
-
813
+
824
814
  for view in self!.systemBroadcastPicker!.subviews {
825
815
  if let button = view as? UIButton {
826
816
  button.sendActions(for: .allEvents)
@@ -829,61 +819,236 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
829
819
  self?.stopScreenshareResolve = resolve
830
820
  }
831
821
  }
832
-
822
+
833
823
  func isScreenShared(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
834
824
  resolve?(isScreenShared)
835
825
  }
836
826
 
827
+ func playAudioShare(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
828
+ guard let fileUrl = data.value(forKey: "fileUrl") as? String,
829
+ let audioNodeName = data.value(forKey: "audioNode") as? String,
830
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
831
+ let playerNode = audioMixerSourceMap[audioNodeName]
832
+ else {
833
+ let errorMessage = "playAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode", "fileUrl"])
834
+ emitRequiredKeysError(errorMessage)
835
+ reject?(errorMessage, errorMessage, nil)
836
+ return
837
+ }
838
+ let loops = data.value(forKey: "loops") as? Bool ?? false
839
+ let interrupts = data.value(forKey: "interrupts") as? Bool ?? false
840
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
841
+ if let url = URL(string: fileUrl) {
842
+ do {
843
+ try audioFilePlayerNode.play(fileUrl: url, loops: loops, interrupts: interrupts)
844
+ resolve?(["success": true])
845
+ } catch {
846
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
847
+ reject?(error.localizedDescription, error.localizedDescription, nil)
848
+ }
849
+ } else {
850
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Incorrect url", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
851
+ reject?("Incorrect URL", "Incorrect URL", nil)
852
+ }
853
+ } else {
854
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
855
+ reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
856
+ }
857
+ }
858
+
859
+ func setAudioShareVolume(_ data: NSDictionary) {
860
+ guard let volume = data.value(forKey: "volume") as? NSNumber,
861
+ let audioNodeName = data.value(forKey: "audioNode") as? String,
862
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
863
+ let playerNode = audioMixerSourceMap[audioNodeName]
864
+ else {
865
+ let errorMessage = "setAudioShareVolume: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode", "volume"])
866
+ emitRequiredKeysError(errorMessage)
867
+ return
868
+ }
869
+ if let audioMicNode = playerNode as? HMSMicNode {
870
+ audioMicNode.volume = volume.floatValue
871
+ }
872
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
873
+ audioFilePlayerNode.volume = volume.floatValue
874
+ }
875
+ }
876
+
877
+ func stopAudioShare(_ data: NSDictionary) {
878
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
879
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
880
+ let playerNode = audioMixerSourceMap[audioNodeName]
881
+ else {
882
+ let errorMessage = "stopAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
883
+ emitRequiredKeysError(errorMessage)
884
+ return
885
+ }
886
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
887
+ audioFilePlayerNode.stop()
888
+ } else {
889
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
890
+ }
891
+ }
892
+
893
+ func resumeAudioShare(_ data: NSDictionary) {
894
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
895
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
896
+ let playerNode = audioMixerSourceMap[audioNodeName]
897
+ else {
898
+ let errorMessage = "resumeAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
899
+ emitRequiredKeysError(errorMessage)
900
+ return
901
+ }
902
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
903
+ do {
904
+ try audioFilePlayerNode.resume()
905
+ } catch {
906
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
907
+ }
908
+ } else {
909
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
910
+ }
911
+ }
912
+
913
+ func pauseAudioShare(_ data: NSDictionary) {
914
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
915
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
916
+ let playerNode = audioMixerSourceMap[audioNodeName]
917
+ else {
918
+ let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
919
+ emitRequiredKeysError(errorMessage)
920
+ return
921
+ }
922
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
923
+ audioFilePlayerNode.pause()
924
+ } else {
925
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
926
+ }
927
+ }
928
+
929
+ func audioShareIsPlaying(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
930
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
931
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
932
+ let playerNode = audioMixerSourceMap[audioNodeName]
933
+ else {
934
+ let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
935
+ emitRequiredKeysError(errorMessage)
936
+ reject?(errorMessage, errorMessage, nil)
937
+ return
938
+ }
939
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
940
+ resolve?(audioFilePlayerNode.isPlaying)
941
+ } else {
942
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
943
+ reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
944
+ }
945
+ }
946
+
947
+ func audioShareCurrentTime(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
948
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
949
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
950
+ let playerNode = audioMixerSourceMap[audioNodeName]
951
+ else {
952
+ let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
953
+ emitRequiredKeysError(errorMessage)
954
+ reject?(errorMessage, errorMessage, nil)
955
+ return
956
+ }
957
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
958
+ resolve?(audioFilePlayerNode.currentTime)
959
+ } else {
960
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
961
+ reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
962
+ }
963
+ }
964
+
965
+ func audioShareDuration(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
966
+ guard let audioNodeName = data.value(forKey: "audioNode") as? String,
967
+ let audioMixerSourceMap = HMSHelper.getAudioMixerSourceMap(),
968
+ let playerNode = audioMixerSourceMap[audioNodeName]
969
+ else {
970
+ let errorMessage = "pauseAudioShare: " + HMSHelper.getUnavailableRequiredKey(data, ["audioNode"])
971
+ emitRequiredKeysError(errorMessage)
972
+ reject?(errorMessage, errorMessage, nil)
973
+ return
974
+ }
975
+ if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
976
+ resolve?(audioFilePlayerNode.duration)
977
+ } else {
978
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
979
+ reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
980
+ }
981
+ }
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
+
837
1016
  // MARK: - HMS SDK Delegate Callbacks
838
1017
  func on(join room: HMSRoom) {
839
1018
  let roomData = HMSDecoder.getHmsRoom(room)
840
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
841
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
842
1019
 
843
- let decodedRoles = HMSDecoder.getAllRoles(hms?.roles)
844
1020
  self.recentPreviewTracks = []
845
- 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])
846
1022
  }
847
1023
 
848
1024
  func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
849
1025
  let previewTracks = HMSDecoder.getPreviewTracks(localTracks)
850
1026
  let hmsRoom = HMSDecoder.getHmsRoom(room)
851
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
852
1027
 
853
1028
  previewInProgress = false
854
- 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])
855
1030
  }
856
1031
 
857
1032
  func on(room: HMSRoom, update: HMSRoomUpdate) {
858
- // Listener for any updation in room
859
1033
  let roomData = HMSDecoder.getHmsRoom(room)
860
1034
  let type = getString(from: update)
861
1035
 
862
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
863
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
864
-
865
- 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])
866
1037
  }
867
1038
 
868
1039
  func on(peer: HMSPeer, update: HMSPeerUpdate) {
869
- // Listener for updates in Peers
870
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
871
1040
  let type = getString(from: update)
872
-
873
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
874
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
875
1041
  let hmsPeer = HMSDecoder.getHmsPeer(peer)
876
1042
 
877
- 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])
878
1048
  }
879
1049
 
880
1050
  func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
881
- // Listener for updates in Tracks
882
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
883
1051
  let type = getString(from: update)
884
-
885
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
886
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
887
1052
  let hmsPeer = HMSDecoder.getHmsPeer(peer)
888
1053
  let hmsTrack = HMSDecoder.getHmsTrack(track)
889
1054
 
@@ -898,11 +1063,11 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
898
1063
  stopScreenshareResolve = nil
899
1064
  }
900
1065
  }
901
-
902
- 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])
1066
+
1067
+ self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "type": type, "peer": hmsPeer, "track": hmsTrack])
903
1068
  }
904
1069
 
905
- func on(error: HMSError) {
1070
+ func on(error: Error) {
906
1071
  if previewInProgress { previewInProgress = false }
907
1072
  self.delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
908
1073
  }
@@ -921,7 +1086,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
921
1086
 
922
1087
  func onReconnecting() {
923
1088
  reconnectingStage = true
924
- self.delegate?.emitEvent(RECONNECTING, ["event": RECONNECTING, "error": ["code": HMSErrorCode.websocketConnectionLost, "description": "Software caused connection abort", "localizedDescription": "Network connection lost ", "debugDescription": "Network connection lost ", "message": "Network connection lost ", "name": "WebSocketConnectionLost", "action": "NONE", "id": 101], "id": self.id ])
1089
+ self.delegate?.emitEvent(RECONNECTING, ["event": RECONNECTING, "error": ["code": 1003, "description": "Network connection lost ", "isTerminal": false, "canRetry": true], "id": self.id ])
925
1090
  }
926
1091
 
927
1092
  func onReconnected() {
@@ -950,59 +1115,59 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
950
1115
  let roomEnded = notification.roomEnded
951
1116
  self.delegate?.emitEvent(ON_REMOVED_FROM_ROOM, ["event": ON_REMOVED_FROM_ROOM, "id": self.id, "requestedBy": decodedRequestedBy as Any, "reason": reason, "roomEnded": roomEnded ])
952
1117
  }
953
-
1118
+
954
1119
  func on(rtcStats: HMSRTCStatsReport) {
955
- if (!rtcStatsAttached) {
1120
+ if !rtcStatsAttached {
956
1121
  return
957
1122
  }
958
1123
  let video = HMSDecoder.getHMSRTCStats(rtcStats.video)
959
1124
  let audio = HMSDecoder.getHMSRTCStats(rtcStats.audio)
960
1125
  let combined = HMSDecoder.getHMSRTCStats(rtcStats.combined)
961
-
1126
+
962
1127
  self.delegate?.emitEvent(ON_RTC_STATS, ["video": video, "audio": audio, "combined": combined, "id": self.id])
963
1128
  }
964
-
1129
+
965
1130
  func on(localAudioStats: HMSLocalAudioStats, track: HMSLocalAudioTrack, peer: HMSPeer) {
966
- if (!rtcStatsAttached) {
1131
+ if !rtcStatsAttached {
967
1132
  return
968
1133
  }
969
1134
  let localStats = HMSDecoder.getLocalAudioStats(localAudioStats)
970
1135
  let localTrack = HMSDecoder.getHmsLocalAudioTrack(track)
971
1136
  let decodedPeer = HMSDecoder.getHmsPeer(peer)
972
-
1137
+
973
1138
  self.delegate?.emitEvent(ON_LOCAL_AUDIO_STATS, ["localAudioStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
974
1139
  }
975
-
1140
+
976
1141
  func on(localVideoStats: HMSLocalVideoStats, track: HMSLocalVideoTrack, peer: HMSPeer) {
977
- if (!rtcStatsAttached) {
1142
+ if !rtcStatsAttached {
978
1143
  return
979
1144
  }
980
1145
  let localStats = HMSDecoder.getLocalVideoStats(localVideoStats)
981
1146
  let decodedPeer = HMSDecoder.getHmsPeer(peer)
982
1147
  let localTrack = HMSDecoder.getHmsLocalVideoTrack(track)
983
-
1148
+
984
1149
  self.delegate?.emitEvent(ON_LOCAL_VIDEO_STATS, ["localVideoStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
985
1150
  }
986
-
1151
+
987
1152
  func on(remoteAudioStats: HMSRemoteAudioStats, track: HMSRemoteAudioTrack, peer: HMSPeer) {
988
- if (!rtcStatsAttached) {
1153
+ if !rtcStatsAttached {
989
1154
  return
990
1155
  }
991
1156
  let remoteStats = HMSDecoder.getRemoteAudioStats(remoteAudioStats)
992
1157
  let remoteTrack = HMSDecoder.getHMSRemoteAudioTrack(track)
993
1158
  let decodedPeer = HMSDecoder.getHmsPeer(peer)
994
-
1159
+
995
1160
  self.delegate?.emitEvent(ON_REMOTE_AUDIO_STATS, ["remoteAudioStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
996
1161
  }
997
-
1162
+
998
1163
  func on(remoteVideoStats: HMSRemoteVideoStats, track: HMSRemoteVideoTrack, peer: HMSPeer) {
999
- if (!rtcStatsAttached) {
1164
+ if !rtcStatsAttached {
1000
1165
  return
1001
1166
  }
1002
1167
  let remoteStats = HMSDecoder.getRemoteVideoStats(remoteVideoStats)
1003
1168
  let decodedPeer = HMSDecoder.getHmsPeer(peer)
1004
1169
  let remoteTrack = HMSDecoder.getHMSRemoteVideoTrack(track)
1005
-
1170
+
1006
1171
  self.delegate?.emitEvent(ON_REMOTE_VIDEO_STATS, ["remoteVideoStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
1007
1172
  }
1008
1173
 
@@ -1069,6 +1234,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1069
1234
  }
1070
1235
 
1071
1236
  func emitRequiredKeysError(_ error: String) {
1072
- delegate?.emitEvent(ON_ERROR, ["error": ["code": HMSErrorCode.genericErrorUnknown.rawValue, "description": error, "message": error, "name": "REQUIRED_KEYS_NOT_FOUND", "action": "SEND_ALL_REQUIRED_KEYS", "id": 102, "isTerminal": false], "id": id])
1237
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error, "isTerminal": false, "canRetry": true], "id": id])
1073
1238
  }
1074
1239
  }