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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +145 -340
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +292 -94
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +127 -127
  5. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +167 -115
  6. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +283 -45
  7. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +7 -7
  8. package/ios/HMSDecoder.swift +276 -137
  9. package/ios/HMSHelper.swift +3 -3
  10. package/ios/HMSManager.m +7 -0
  11. package/ios/HMSManager.swift +37 -2
  12. package/ios/HMSRNSDK.swift +339 -97
  13. package/ios/HMSView.m +2 -0
  14. package/ios/HMSView.swift +35 -3
  15. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. package/lib/commonjs/classes/HMSAudioCodec.js +4 -4
  17. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  18. package/lib/commonjs/classes/HMSAudioDevice.js +4 -4
  19. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  20. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  21. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  22. package/lib/commonjs/classes/HMSAudioMixingMode.js +4 -4
  23. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  24. package/lib/commonjs/classes/HMSAudioMode.js +4 -4
  25. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioNode.js +2 -1
  27. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  29. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  30. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  31. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  32. package/lib/commonjs/classes/HMSCameraFacing.js +4 -4
  33. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  34. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  35. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  36. package/lib/commonjs/classes/HMSConstants.js +11 -0
  37. package/lib/commonjs/classes/HMSConstants.js.map +1 -0
  38. package/lib/commonjs/classes/HMSEncoder.js +129 -102
  39. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  40. package/lib/commonjs/classes/HMSException.js.map +1 -1
  41. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  42. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  43. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  44. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  45. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  46. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  47. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  49. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLocalPeer.js +0 -1
  51. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  52. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  53. package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -2
  54. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  55. package/lib/commonjs/classes/HMSLogAlarmManager.js +4 -4
  56. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  57. package/lib/commonjs/classes/HMSLogLevel.js +4 -4
  58. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  59. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
  60. package/lib/commonjs/classes/HMSLogger.js +17 -25
  61. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  62. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  63. package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
  64. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  65. package/lib/commonjs/classes/HMSMessageRecipientType.js +4 -4
  66. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  67. package/lib/commonjs/classes/HMSMessageType.js +4 -4
  68. package/lib/commonjs/classes/HMSMessageType.js.map +1 -1
  69. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  70. package/lib/commonjs/classes/HMSNativeEventEmitter.js +101 -0
  71. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -0
  72. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  73. package/lib/commonjs/classes/HMSPIPListenerActions.js +4 -4
  74. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  75. package/lib/commonjs/classes/HMSPeer.js +69 -18
  76. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  77. package/lib/commonjs/classes/HMSPeerUpdate.js +7 -5
  78. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  79. package/lib/commonjs/classes/HMSPeersCache.js +229 -0
  80. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -0
  81. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  82. package/lib/commonjs/classes/HMSPublishSettings.js +0 -6
  83. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  84. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  85. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  86. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  87. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  88. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  89. package/lib/commonjs/classes/HMSRemotePeer.js +0 -1
  90. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  91. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  92. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  93. package/lib/commonjs/classes/HMSRole.js +0 -6
  94. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  95. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -1
  96. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  97. package/lib/commonjs/classes/HMSRoom.js +79 -22
  98. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  99. package/lib/commonjs/classes/HMSRoomCache.js +128 -0
  100. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -0
  101. package/lib/commonjs/classes/HMSRoomUpdate.js +4 -4
  102. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  103. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  104. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  105. package/lib/commonjs/classes/HMSSDK.js +933 -158
  106. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  107. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  108. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  109. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  110. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  111. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  112. package/lib/commonjs/classes/HMSSubscribeSettings.js +0 -2
  113. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  114. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  115. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  116. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +4 -4
  117. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  118. package/lib/commonjs/classes/HMSTrackSource.js +4 -4
  119. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  120. package/lib/commonjs/classes/HMSTrackType.js +4 -4
  121. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  122. package/lib/commonjs/classes/HMSTrackUpdate.js +4 -4
  123. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  124. package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -5
  125. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  126. package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
  127. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  128. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  129. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  130. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  131. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  132. package/lib/commonjs/classes/HMSVideoViewMode.js +4 -4
  133. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  134. package/lib/commonjs/classes/HmsView.js +2 -1
  135. package/lib/commonjs/classes/HmsView.js.map +1 -1
  136. package/lib/commonjs/index.js.map +1 -1
  137. package/lib/module/classes/HMSAudioCodec.js +3 -3
  138. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  139. package/lib/module/classes/HMSAudioDevice.js +3 -3
  140. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  141. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  142. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  143. package/lib/module/classes/HMSAudioMixingMode.js +3 -3
  144. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  145. package/lib/module/classes/HMSAudioMode.js +3 -3
  146. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  147. package/lib/module/classes/HMSAudioNode.js +2 -1
  148. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  149. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  150. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  151. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  152. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  153. package/lib/module/classes/HMSCameraFacing.js +3 -3
  154. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  155. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  156. package/lib/module/classes/HMSConfig.js.map +1 -1
  157. package/lib/module/classes/HMSConstants.js +4 -0
  158. package/lib/module/classes/HMSConstants.js.map +1 -0
  159. package/lib/module/classes/HMSEncoder.js +129 -102
  160. package/lib/module/classes/HMSEncoder.js.map +1 -1
  161. package/lib/module/classes/HMSException.js.map +1 -1
  162. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  163. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  164. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  165. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  166. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  167. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  168. package/lib/module/classes/HMSHelper.js.map +1 -1
  169. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  170. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  171. package/lib/module/classes/HMSLocalPeer.js +0 -1
  172. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  173. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  174. package/lib/module/classes/HMSLocalVideoTrack.js +0 -2
  175. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  176. package/lib/module/classes/HMSLogAlarmManager.js +3 -3
  177. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
  178. package/lib/module/classes/HMSLogLevel.js +3 -3
  179. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  180. package/lib/module/classes/HMSLogSettings.js.map +1 -1
  181. package/lib/module/classes/HMSLogger.js +17 -25
  182. package/lib/module/classes/HMSLogger.js.map +1 -1
  183. package/lib/module/classes/HMSMessage.js.map +1 -1
  184. package/lib/module/classes/HMSMessageRecipient.js +1 -1
  185. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  186. package/lib/module/classes/HMSMessageRecipientType.js +3 -3
  187. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  188. package/lib/module/classes/HMSMessageType.js +3 -3
  189. package/lib/module/classes/HMSMessageType.js.map +1 -1
  190. package/lib/module/classes/HMSMicNode.js.map +1 -1
  191. package/lib/module/classes/HMSNativeEventEmitter.js +94 -0
  192. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -0
  193. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  194. package/lib/module/classes/HMSPIPListenerActions.js +3 -3
  195. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  196. package/lib/module/classes/HMSPeer.js +69 -18
  197. package/lib/module/classes/HMSPeer.js.map +1 -1
  198. package/lib/module/classes/HMSPeerUpdate.js +4 -3
  199. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  200. package/lib/module/classes/HMSPeersCache.js +216 -0
  201. package/lib/module/classes/HMSPeersCache.js.map +1 -0
  202. package/lib/module/classes/HMSPermissions.js.map +1 -1
  203. package/lib/module/classes/HMSPublishSettings.js +0 -6
  204. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  205. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  206. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  207. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  208. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  209. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  210. package/lib/module/classes/HMSRemotePeer.js +0 -1
  211. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  212. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  213. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  214. package/lib/module/classes/HMSRole.js +0 -6
  215. package/lib/module/classes/HMSRole.js.map +1 -1
  216. package/lib/module/classes/HMSRoleChangeRequest.js +3 -1
  217. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  218. package/lib/module/classes/HMSRoom.js +79 -22
  219. package/lib/module/classes/HMSRoom.js.map +1 -1
  220. package/lib/module/classes/HMSRoomCache.js +115 -0
  221. package/lib/module/classes/HMSRoomCache.js.map +1 -0
  222. package/lib/module/classes/HMSRoomUpdate.js +3 -3
  223. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  224. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  225. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  226. package/lib/module/classes/HMSSDK.js +934 -159
  227. package/lib/module/classes/HMSSDK.js.map +1 -1
  228. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  229. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  230. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  231. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  232. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  233. package/lib/module/classes/HMSSubscribeSettings.js +0 -2
  234. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  235. package/lib/module/classes/HMSTrack.js.map +1 -1
  236. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  237. package/lib/module/classes/HMSTrackSettingsInitState.js +3 -3
  238. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
  239. package/lib/module/classes/HMSTrackSource.js +3 -3
  240. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  241. package/lib/module/classes/HMSTrackType.js +3 -3
  242. package/lib/module/classes/HMSTrackType.js.map +1 -1
  243. package/lib/module/classes/HMSTrackUpdate.js +3 -3
  244. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  245. package/lib/module/classes/HMSUpdateListenerActions.js +4 -4
  246. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  247. package/lib/module/classes/HMSVideoCodec.js +3 -3
  248. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  249. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  250. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  251. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  252. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  253. package/lib/module/classes/HMSVideoViewMode.js +3 -3
  254. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  255. package/lib/module/classes/HmsView.js +2 -1
  256. package/lib/module/classes/HmsView.js.map +1 -1
  257. package/lib/module/index.js.map +1 -1
  258. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -4
  259. package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -2
  260. package/lib/typescript/classes/HMSConstants.d.ts +3 -0
  261. package/lib/typescript/classes/HMSEncoder.d.ts +10 -6
  262. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +2 -2
  263. package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -14
  264. package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +0 -2
  265. package/lib/typescript/classes/HMSLogger.d.ts +1 -7
  266. package/lib/typescript/classes/HMSMessageRecipient.d.ts +2 -2
  267. package/lib/typescript/classes/HMSNativeEventEmitter.d.ts +13 -0
  268. package/lib/typescript/classes/HMSPeer.d.ts +12 -18
  269. package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
  270. package/lib/typescript/classes/HMSPeersCache.d.ts +17 -0
  271. package/lib/typescript/classes/HMSPublishSettings.d.ts +8 -15
  272. package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -14
  273. package/lib/typescript/classes/HMSRole.d.ts +0 -6
  274. package/lib/typescript/classes/HMSRoleChangeRequest.d.ts +2 -2
  275. package/lib/typescript/classes/HMSRoom.d.ts +11 -22
  276. package/lib/typescript/classes/HMSRoomCache.d.ts +16 -0
  277. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -4
  278. package/lib/typescript/classes/HMSSDK.d.ts +3 -13
  279. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  280. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +0 -2
  281. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +1 -1
  282. package/lib/typescript/index.d.ts +1 -0
  283. package/package.json +5 -4
  284. package/react-native-hms.podspec +1 -1
  285. package/sdk-versions.json +3 -2
  286. package/src/classes/HMSAudioNode.ts +3 -1
  287. package/src/classes/HMSBrowserRecordingState.ts +4 -4
  288. package/src/classes/HMSChangeTrackStateRequest.ts +2 -2
  289. package/src/classes/HMSConstants.ts +3 -0
  290. package/src/classes/HMSEncoder.ts +162 -120
  291. package/src/classes/HMSHLSStreamingState.ts +2 -2
  292. package/src/classes/HMSLocalPeer.ts +0 -15
  293. package/src/classes/HMSLocalVideoTrack.ts +0 -2
  294. package/src/classes/HMSLogger.ts +20 -19
  295. package/src/classes/HMSMessageRecipient.ts +3 -3
  296. package/src/classes/HMSNativeEventEmitter.ts +109 -0
  297. package/src/classes/HMSPeer.ts +135 -32
  298. package/src/classes/HMSPeerUpdate.ts +9 -0
  299. package/src/classes/HMSPeersCache.ts +252 -0
  300. package/src/classes/HMSPublishSettings.ts +8 -18
  301. package/src/classes/HMSRemotePeer.ts +0 -16
  302. package/src/classes/HMSRole.ts +0 -9
  303. package/src/classes/HMSRoleChangeRequest.ts +5 -3
  304. package/src/classes/HMSRoom.ts +141 -37
  305. package/src/classes/HMSRoomCache.ts +157 -0
  306. package/src/classes/HMSRtmpStreamingState.ts +4 -4
  307. package/src/classes/HMSSDK.tsx +685 -292
  308. package/src/classes/HMSServerRecordingState.ts +2 -2
  309. package/src/classes/HMSSubscribeSettings.ts +1 -7
  310. package/src/classes/HMSUpdateListenerActions.ts +1 -1
  311. package/src/classes/HmsView.tsx +2 -1
  312. package/src/index.ts +1 -0
@@ -26,11 +26,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
26
26
  private var previewInProgress = false
27
27
  private var rtcStatsAttached = false
28
28
  private var networkQualityUpdatesAttached = false
29
+ private var eventsEnableStatus: [String: Bool] = [:]
29
30
 
30
31
  let ON_PREVIEW = "ON_PREVIEW"
31
32
  let ON_JOIN = "ON_JOIN"
32
33
  let ON_ROOM_UPDATE = "ON_ROOM_UPDATE"
33
- let ON_PEER_UPDATE = "ON_PEER_UPDATE"
34
+ let ON_PEER_UPDATE = "3"
34
35
  let ON_TRACK_UPDATE = "ON_TRACK_UPDATE"
35
36
  let ON_ROLE_CHANGE_REQUEST = "ON_ROLE_CHANGE_REQUEST"
36
37
  let ON_REMOVED_FROM_ROOM = "ON_REMOVED_FROM_ROOM"
@@ -67,7 +68,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
67
68
  func preview(_ credentials: NSDictionary) {
68
69
 
69
70
  guard !previewInProgress else {
70
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
71
+ if eventsEnableStatus[ON_ERROR] == true {
72
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
73
+ }
71
74
  return
72
75
  }
73
76
 
@@ -109,7 +112,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
109
112
  if let extractedRole = roleObj {
110
113
  hms?.preview(role: extractedRole, completion: { tracks, error in
111
114
  if error != nil {
112
- delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
115
+ if eventsEnableStatus[ON_ERROR] == true {
116
+ delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
117
+ }
113
118
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
114
119
  return
115
120
  }
@@ -131,7 +136,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
131
136
  func join(_ credentials: NSDictionary) {
132
137
 
133
138
  guard !previewInProgress else {
134
- delegate?.emitEvent("ON_ERROR", ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
139
+ if eventsEnableStatus[ON_ERROR] == true {
140
+ delegate?.emitEvent("ON_ERROR", ["error": ["code": 5000, "description": "Preview is in progress", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
141
+ }
135
142
  return
136
143
  }
137
144
 
@@ -211,9 +218,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
211
218
  self?.networkQualityUpdatesAttached = false
212
219
  self?.hms?.leave({ success, error in
213
220
  if success {
221
+ HMSDecoder.clearRestrictDataStates()
214
222
  resolve?(["success": success])
215
223
  } else {
216
- strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
224
+ if strongSelf.eventsEnableStatus[strongSelf.ON_ERROR] == true {
225
+ strongSelf.delegate?.emitEvent(strongSelf.ON_ERROR, ["error": HMSDecoder.getError(error), "id": strongSelf.id])
226
+ }
217
227
  reject?("error in leave", "error in leave", nil)
218
228
  }
219
229
  })
@@ -238,7 +248,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
238
248
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
239
249
  return
240
250
  } else {
241
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
251
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
252
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
253
+ }
242
254
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
243
255
  return
244
256
  }
@@ -264,7 +276,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
264
276
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
265
277
  return
266
278
  } else {
267
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
279
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
280
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
281
+ }
268
282
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
269
283
  return
270
284
  }
@@ -290,7 +304,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
290
304
  resolve?(["success": true, "data": ["sender": message?.sender?.name ?? "", "message": message?.message ?? "", "type": message?.type]])
291
305
  return
292
306
  } else {
293
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
307
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
308
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
309
+ }
294
310
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
295
311
  return
296
312
  }
@@ -314,7 +330,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
314
330
  if success {
315
331
  resolve?(["success": success])
316
332
  } else {
317
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
333
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
334
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
335
+ }
318
336
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
319
337
  }
320
338
  })
@@ -345,7 +363,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
345
363
  if success {
346
364
  resolve?(["success": success])
347
365
  } else {
348
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
366
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
367
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
368
+ }
349
369
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
350
370
  }
351
371
  })
@@ -381,7 +401,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
381
401
  if success {
382
402
  resolve?(["success": success])
383
403
  } else {
384
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
404
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
405
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
406
+ }
385
407
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
386
408
  }
387
409
  }
@@ -412,7 +434,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
412
434
  if success {
413
435
  resolve?(["success": success])
414
436
  } else {
415
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
437
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
438
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
439
+ }
416
440
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
417
441
  }
418
442
  })
@@ -447,7 +471,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
447
471
  if success {
448
472
  resolve?(["success": success])
449
473
  } else {
450
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
474
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
475
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
476
+ }
451
477
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
452
478
  }
453
479
  })
@@ -471,7 +497,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
471
497
  guard let remotePeers = self?.hms?.remotePeers,
472
498
  let track = HMSHelper.getTrackFromTrackId(trackId, remotePeers)
473
499
  else {
474
- strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
500
+ if strongSelf.eventsEnableStatus["ON_ERROR"] == true {
501
+ strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
502
+ }
475
503
  reject?("Track not found", "Track not found", nil)
476
504
  return
477
505
  }
@@ -509,7 +537,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
509
537
  if success {
510
538
  resolve?(["success": success])
511
539
  } else {
512
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
540
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
541
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
542
+ }
513
543
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
514
544
  }
515
545
  })
@@ -532,7 +562,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
532
562
  if success {
533
563
  resolve?(["success": success])
534
564
  } else {
535
- self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
565
+ if self?.eventsEnableStatus["ON_ERROR"] == true {
566
+ self?.delegate?.emitEvent("ON_ERROR", ["error": HMSDecoder.getError(error), "id": self?.id ?? "12345"])
567
+ }
536
568
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
537
569
  }
538
570
  })
@@ -611,7 +643,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
611
643
  resolve?(["success": success])
612
644
  return
613
645
  } else {
614
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
646
+ if self.eventsEnableStatus["ON_ERROR"] == true {
647
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
648
+ }
615
649
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
616
650
  return
617
651
  }
@@ -635,7 +669,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
635
669
 
636
670
  if remoteAudioTrack != nil {
637
671
  remoteAudioTrack?.setVolume(volume)
638
- } else {
672
+ } else if strongSelf.eventsEnableStatus["ON_ERROR"] == true {
639
673
  strongSelf.delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": "Track not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": strongSelf.id])
640
674
  }
641
675
  }
@@ -657,7 +691,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
657
691
  if let meetLink = URL(string: meetingString) {
658
692
  meetingUrl = meetLink
659
693
  } else {
660
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Invalid meeting url passed", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
694
+ if eventsEnableStatus[ON_ERROR] == true {
695
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Invalid meeting url passed", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
696
+ }
661
697
  reject?("Invalid meeting url passed", "Invalid meeting url passed", nil)
662
698
  }
663
699
 
@@ -666,16 +702,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
666
702
  let config = HMSRTMPConfig(meetingURL: meetingUrl, rtmpURLs: URLs, record: record)
667
703
  hms?.startRTMPOrRecording(config: config, completion: { success, error in
668
704
  if success {
669
- let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
670
- let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
671
-
672
- let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
673
- let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
674
- self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
675
705
  resolve?(["success": success])
676
706
  return
677
707
  } else {
678
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
708
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
709
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
710
+ }
679
711
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
680
712
  return
681
713
  }
@@ -685,16 +717,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
685
717
  func stopRtmpAndRecording(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
686
718
  hms?.stopRTMPAndRecording(completion: { success, error in
687
719
  if success {
688
- let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
689
- let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
690
-
691
- let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
692
- let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
693
- self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
694
720
  resolve?(["success": success])
695
721
  return
696
722
  } else {
697
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
723
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
724
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
725
+ }
698
726
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
699
727
  return
700
728
  }
@@ -711,16 +739,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
711
739
 
712
740
  hms?.startHLSStreaming(config: config, completion: { success, error in
713
741
  if success {
714
- let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
715
- let type = self.getString(from: HMSRoomUpdate.hlsStreamingStateUpdated)
716
-
717
- let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
718
- let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
719
- self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
720
742
  resolve?(["success": success])
721
743
  return
722
744
  } else {
723
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
745
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
746
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
747
+ }
724
748
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
725
749
  return
726
750
  }
@@ -730,16 +754,12 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
730
754
  func stopHLSStreaming(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
731
755
  hms?.stopHLSStreaming(config: nil, completion: { success, error in
732
756
  if success {
733
- let roomData = HMSDecoder.getHmsRoom(self.hms?.room)
734
- let type = self.getString(from: HMSRoomUpdate.browserRecordingStateUpdated)
735
-
736
- let localPeerData = HMSDecoder.getHmsLocalPeer(self.hms?.localPeer)
737
- let remotePeerData = HMSDecoder.getHmsRemotePeers(self.hms?.remotePeers)
738
- self.delegate?.emitEvent(self.ON_ROOM_UPDATE, ["event": self.ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
739
757
  resolve?(["success": success])
740
758
  return
741
759
  } else {
742
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
760
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
761
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
762
+ }
743
763
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
744
764
  return
745
765
  }
@@ -759,7 +779,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
759
779
  if success {
760
780
  resolve?(["success": success])
761
781
  } else {
762
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
782
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
783
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
784
+ }
763
785
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
764
786
  }
765
787
  }
@@ -797,11 +819,6 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
797
819
  peer.remoteAudioTrack()?.setPlaybackAllowed(!mute)
798
820
  }
799
821
  }
800
- let roomData = HMSDecoder.getHmsRoom(hms?.room)
801
- let localPeerData = HMSDecoder.getHmsLocalPeer(hms?.localPeer)
802
- let remotePeerData = HMSDecoder.getHmsRemotePeers(hms?.remotePeers)
803
-
804
- self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "room": roomData, "localPeer": localPeerData, "remotePeers": remotePeerData])
805
822
  }
806
823
 
807
824
  func enableRTCStats() {
@@ -814,7 +831,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
814
831
 
815
832
  func startScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
816
833
  guard let preferredExtension = preferredExtension else {
817
- 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])
834
+ if eventsEnableStatus[ON_ERROR] == true {
835
+ 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])
836
+ }
818
837
  reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
819
838
  return
820
839
  }
@@ -836,7 +855,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
836
855
 
837
856
  func stopScreenshare(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
838
857
  guard let preferredExtension = preferredExtension else {
839
- 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])
858
+ if eventsEnableStatus[ON_ERROR] == true {
859
+ 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])
860
+ }
840
861
  reject?("Could not start screen share, preferredExtension not passed in Build method", "Could not start screen share, preferredExtension not passed in Build method", nil)
841
862
  return
842
863
  }
@@ -879,15 +900,21 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
879
900
  try audioFilePlayerNode.play(fileUrl: url, loops: loops, interrupts: interrupts)
880
901
  resolve?(["success": true])
881
902
  } catch {
882
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
903
+ if eventsEnableStatus[ON_ERROR] == true {
904
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
905
+ }
883
906
  reject?(error.localizedDescription, error.localizedDescription, nil)
884
907
  }
885
908
  } else {
886
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Incorrect url", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
909
+ if eventsEnableStatus[ON_ERROR] == true {
910
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "Incorrect url", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
911
+ }
887
912
  reject?("Incorrect URL", "Incorrect URL", nil)
888
913
  }
889
914
  } else {
890
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
915
+ if eventsEnableStatus[ON_ERROR] == true {
916
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
917
+ }
891
918
  reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
892
919
  }
893
920
  }
@@ -921,7 +948,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
921
948
  }
922
949
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
923
950
  audioFilePlayerNode.stop()
924
- } else {
951
+ } else if eventsEnableStatus[ON_ERROR] == true {
925
952
  delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
926
953
  }
927
954
  }
@@ -939,9 +966,11 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
939
966
  do {
940
967
  try audioFilePlayerNode.resume()
941
968
  } catch {
942
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
969
+ if eventsEnableStatus[ON_ERROR] == true {
970
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
971
+ }
943
972
  }
944
- } else {
973
+ } else if eventsEnableStatus[ON_ERROR] == true {
945
974
  delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
946
975
  }
947
976
  }
@@ -957,7 +986,7 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
957
986
  }
958
987
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
959
988
  audioFilePlayerNode.pause()
960
- } else {
989
+ } else if eventsEnableStatus[ON_ERROR] == true {
961
990
  delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
962
991
  }
963
992
  }
@@ -975,7 +1004,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
975
1004
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
976
1005
  resolve?(audioFilePlayerNode.isPlaying)
977
1006
  } else {
978
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1007
+ if eventsEnableStatus[ON_ERROR] == true {
1008
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1009
+ }
979
1010
  reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
980
1011
  }
981
1012
  }
@@ -993,7 +1024,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
993
1024
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
994
1025
  resolve?(audioFilePlayerNode.currentTime)
995
1026
  } else {
996
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1027
+ if eventsEnableStatus[ON_ERROR] == true {
1028
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1029
+ }
997
1030
  reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
998
1031
  }
999
1032
  }
@@ -1011,7 +1044,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1011
1044
  if let audioFilePlayerNode = playerNode as? HMSAudioFilePlayerNode {
1012
1045
  resolve?(audioFilePlayerNode.duration)
1013
1046
  } else {
1014
- delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1047
+ if eventsEnableStatus[ON_ERROR] == true {
1048
+ delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": "AudioFilePlayerNode not found", "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
1049
+ }
1015
1050
  reject?("AudioFilePlayerNode not found", "AudioFilePlayerNode not found", nil)
1016
1051
  }
1017
1052
  }
@@ -1031,12 +1066,48 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1031
1066
  if success {
1032
1067
  resolve?(["success": success])
1033
1068
  } else {
1034
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
1069
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
1070
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
1071
+ }
1035
1072
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
1036
1073
  }
1037
1074
  }
1038
1075
  }
1039
1076
 
1077
+ func enableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1078
+ guard let eventType = data.value(forKey: "eventType") as? String else {
1079
+ let errorMessage = "enableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
1080
+ emitRequiredKeysError(errorMessage)
1081
+ reject?(errorMessage, errorMessage, nil)
1082
+ return
1083
+ }
1084
+
1085
+ eventsEnableStatus[eventType] = true
1086
+ resolve?(["success": true, "message": "function call executed successfully"])
1087
+ }
1088
+
1089
+ func disableEvent(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1090
+ guard let eventType = data.value(forKey: "eventType") as? String else {
1091
+ let errorMessage = "disableEvent: " + HMSHelper.getUnavailableRequiredKey(data, ["eventType"])
1092
+ emitRequiredKeysError(errorMessage)
1093
+ reject?(errorMessage, errorMessage, nil)
1094
+ return
1095
+ }
1096
+
1097
+ eventsEnableStatus[eventType] = false
1098
+ resolve?(["success": true, "message": "function call executed successfully"])
1099
+ }
1100
+
1101
+ func restrictData(_ data: NSDictionary) {
1102
+ guard let roleName = data.value(forKey: "roleName") as? String else {
1103
+ let errorMessage = "restrictData: " + HMSHelper.getUnavailableRequiredKey(data, ["roleName"])
1104
+ emitRequiredKeysError(errorMessage)
1105
+ return
1106
+ }
1107
+
1108
+ HMSDecoder.setRestrictRoleData(roleName, true)
1109
+ }
1110
+
1040
1111
  // MARK: - HMS SDK Get APIs
1041
1112
  func getRoom(_ resolve: RCTPromiseResolveBlock?) {
1042
1113
  let roomData = HMSDecoder.getHmsRoom(hms?.room)
@@ -1065,7 +1136,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1065
1136
  func getSessionMetaData(_ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
1066
1137
  hms?.getSessionMetadata { result, error in
1067
1138
  if error != nil {
1068
- self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
1139
+ if self.eventsEnableStatus[self.ON_ERROR] == true {
1140
+ self.delegate?.emitEvent(self.ON_ERROR, ["error": HMSDecoder.getError(error), "id": self.id])
1141
+ }
1069
1142
  reject?(error?.localizedDescription, error?.localizedDescription, nil)
1070
1143
  } else {
1071
1144
  resolve?(result)
@@ -1073,45 +1146,161 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1073
1146
  }
1074
1147
  }
1075
1148
 
1149
+ func getPeerProperty(_ data: NSDictionary) -> [AnyHashable: Any]? {
1150
+ guard let property = data.value(forKey: "property") as? String else {
1151
+ return nil
1152
+ }
1153
+
1154
+ guard let peerId = data.value(forKey: "peerId") as? String else {
1155
+ return nil
1156
+ }
1157
+
1158
+ guard let room = hms?.room, let peer = HMSUtilities.getPeer(for: peerId, in: room) else {
1159
+ return nil
1160
+ }
1161
+
1162
+ switch property {
1163
+ case "name":
1164
+ return ["name": peer.name]
1165
+ case "isLocal":
1166
+ return ["isLocal": peer.isLocal]
1167
+ case "networkQuality":
1168
+ if peer.networkQuality != nil {
1169
+ return ["networkQuality": HMSDecoder.getHmsNetworkQuality(peer.networkQuality)]
1170
+ } else {
1171
+ return nil
1172
+ }
1173
+ case "metadata":
1174
+ return ["metadata": peer.metadata ?? ""]
1175
+ case "role":
1176
+ return ["role": HMSDecoder.getHmsRole(peer.role)]
1177
+ case "customerUserID":
1178
+ return ["customerUserID": peer.customerUserID ?? ""]
1179
+ case "audioTrack":
1180
+ if peer.audioTrack != nil {
1181
+ return ["audioTrack": HMSDecoder.getHmsAudioTrack(peer.audioTrack)]
1182
+ } else {
1183
+ return nil
1184
+ }
1185
+ case "videoTrack":
1186
+ if peer.videoTrack != nil {
1187
+ return ["videoTrack": HMSDecoder.getHmsVideoTrack(peer.videoTrack)]
1188
+ } else {
1189
+ return nil
1190
+ }
1191
+ case "auxiliaryTracks":
1192
+ if let auxTracks = peer.auxiliaryTracks, auxTracks.count > 0 {
1193
+ return ["auxiliaryTracks": HMSDecoder.getAllTracks(auxTracks)]
1194
+ } else {
1195
+ return nil
1196
+ }
1197
+ default:
1198
+ return nil
1199
+ }
1200
+ }
1201
+
1202
+ func getRoomProperty(_ data: NSDictionary) -> [AnyHashable: Any]? {
1203
+ guard let property = data.value(forKey: "property") as? String else {
1204
+ return nil
1205
+ }
1206
+
1207
+ guard let hmsRoom = hms?.room else {
1208
+ return nil
1209
+ }
1210
+
1211
+ switch property {
1212
+ case "sessionId":
1213
+ return ["sessionId": hmsRoom.sessionID ?? ""]
1214
+ case "name":
1215
+ return ["name": hmsRoom.name ?? ""]
1216
+
1217
+ case "metaData":
1218
+ return ["metaData": hmsRoom.metaData ?? ""]
1219
+
1220
+ case "peerCount":
1221
+ return ["peerCount": hmsRoom.peerCount ?? 0]
1222
+
1223
+ case "peers":
1224
+ var peers = [[String: Any]]()
1225
+ for peer in hmsRoom.peers {
1226
+ let parsedPeer = HMSDecoder.getHmsPeerSubset(peer)
1227
+ peers.append(parsedPeer)
1228
+ }
1229
+ return ["peers": peers]
1230
+
1231
+ case "localPeer":
1232
+ return ["localPeer": HMSDecoder.getHmsLocalPeer(hms?.localPeer)]
1233
+
1234
+ case "browserRecordingState":
1235
+ return ["browserRecordingState": HMSDecoder.getHMSBrowserRecordingState(hmsRoom.browserRecordingState)]
1236
+
1237
+ case "rtmpHMSRtmpStreamingState":
1238
+ return ["rtmpHMSRtmpStreamingState": HMSDecoder.getHMSRtmpStreamingState(hmsRoom.rtmpStreamingState)]
1239
+
1240
+ case "serverRecordingState":
1241
+ return ["serverRecordingState": HMSDecoder.getHMSServerRecordingState(hmsRoom.serverRecordingState)]
1242
+
1243
+ case "hlsStreamingState":
1244
+ return ["hlsStreamingState": HMSDecoder.getHlsStreamingState(hmsRoom.hlsStreamingState)]
1245
+
1246
+ case "hlsRecordingState":
1247
+ return ["hlsRecordingState": HMSDecoder.getHlsRecordingState(hmsRoom.hlsRecordingState)]
1248
+
1249
+ default:
1250
+ return nil
1251
+ }
1252
+ }
1253
+
1076
1254
  // MARK: - HMS SDK Delegate Callbacks
1077
1255
  func on(join room: HMSRoom) {
1078
- let roomData = HMSDecoder.getHmsRoom(room)
1079
-
1080
1256
  self.recentPreviewTracks = []
1257
+ if eventsEnableStatus[ON_JOIN] != true {
1258
+ return
1259
+ }
1260
+ let roomData = HMSDecoder.getHmsRoomSubset(room)
1081
1261
  self.delegate?.emitEvent(ON_JOIN, ["event": ON_JOIN, "id": self.id, "room": roomData])
1082
1262
  }
1083
1263
 
1084
1264
  func onPreview(room: HMSRoom, localTracks: [HMSTrack]) {
1265
+ previewInProgress = false
1266
+ if eventsEnableStatus[ON_PREVIEW] != true {
1267
+ return
1268
+ }
1085
1269
  let previewTracks = HMSDecoder.getPreviewTracks(localTracks)
1086
- let hmsRoom = HMSDecoder.getHmsRoom(room)
1270
+ let hmsRoom = HMSDecoder.getHmsRoomSubset(room)
1087
1271
 
1088
- previewInProgress = false
1089
1272
  self.delegate?.emitEvent(ON_PREVIEW, ["event": ON_PREVIEW, "id": self.id, "room": hmsRoom, "previewTracks": previewTracks])
1090
1273
  }
1091
1274
 
1092
1275
  func on(room: HMSRoom, update: HMSRoomUpdate) {
1093
- let roomData = HMSDecoder.getHmsRoom(room)
1276
+ if eventsEnableStatus[ON_ROOM_UPDATE] != true {
1277
+ return
1278
+ }
1279
+ if update == .metaDataUpdated || update == .roomTypeChanged {
1280
+ return
1281
+ }
1282
+
1283
+ let roomData = HMSDecoder.getHmsRoomSubset(room, update)
1094
1284
  let type = getString(from: update)
1095
1285
 
1096
1286
  self.delegate?.emitEvent(ON_ROOM_UPDATE, ["event": ON_ROOM_UPDATE, "id": self.id, "type": type, "room": roomData])
1097
1287
  }
1098
1288
 
1099
1289
  func on(peer: HMSPeer, update: HMSPeerUpdate) {
1290
+ if eventsEnableStatus[ON_PEER_UPDATE] != true {
1291
+ return
1292
+ }
1100
1293
  let type = getString(from: update)
1101
- let hmsPeer = HMSDecoder.getHmsPeer(peer)
1294
+ let hmsPeer = HMSDecoder.getHmsPeerSubsetForPeerUpdateEvent(peer, update)
1102
1295
 
1103
1296
  if !networkQualityUpdatesAttached && update == .networkQualityUpdated {
1104
1297
  return
1105
1298
  }
1106
1299
 
1107
- self.delegate?.emitEvent(ON_PEER_UPDATE, ["event": ON_PEER_UPDATE, "id": self.id, "type": type, "peer": hmsPeer])
1300
+ self.delegate?.emitEvent(ON_PEER_UPDATE, hmsPeer)
1108
1301
  }
1109
1302
 
1110
1303
  func on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) {
1111
- let type = getString(from: update)
1112
- let hmsPeer = HMSDecoder.getHmsPeer(peer)
1113
- let hmsTrack = HMSDecoder.getHmsTrack(track)
1114
-
1115
1304
  if peer.isLocal && track.source.uppercased() == "SCREEN" && track.kind == HMSTrackKind.video {
1116
1305
  if update == .trackAdded {
1117
1306
  isScreenShared = true
@@ -1124,52 +1313,85 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1124
1313
  }
1125
1314
  }
1126
1315
 
1316
+ if eventsEnableStatus[ON_TRACK_UPDATE] != true {
1317
+ return
1318
+ }
1319
+
1320
+ let type = getString(from: update)
1321
+ let hmsPeer = HMSDecoder.getHmsPeerSubset(peer)
1322
+ let hmsTrack = HMSDecoder.getHmsTrack(track)
1323
+
1127
1324
  self.delegate?.emitEvent(ON_TRACK_UPDATE, ["event": ON_TRACK_UPDATE, "id": self.id, "type": type, "peer": hmsPeer, "track": hmsTrack])
1128
1325
  }
1129
1326
 
1130
1327
  func on(error: Error) {
1131
1328
  if previewInProgress { previewInProgress = false }
1329
+ if eventsEnableStatus[ON_ERROR] != true {
1330
+ return
1331
+ }
1132
1332
  self.delegate?.emitEvent(ON_ERROR, ["error": HMSDecoder.getError(error), "id": id])
1133
1333
  }
1134
1334
 
1135
1335
  func on(message: HMSMessage) {
1136
- self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": HMSDecoder.getHmsPeer(message.sender), "recipient": HMSDecoder.getHmsMessageRecipient(message.recipient), "time": message.time.timeIntervalSince1970 * 1000, "message": message.message, "type": message.type])
1336
+ if eventsEnableStatus[ON_MESSAGE] != true {
1337
+ return
1338
+ }
1339
+ self.delegate?.emitEvent(ON_MESSAGE, ["event": ON_MESSAGE, "id": self.id, "sender": HMSDecoder.getHmsPeerSubset(message.sender), "recipient": HMSDecoder.getHmsMessageRecipient(message.recipient), "time": message.time.timeIntervalSince1970 * 1000, "message": message.message, "type": message.type])
1137
1340
  }
1138
1341
 
1139
1342
  func on(updated speakers: [HMSSpeaker]) {
1343
+ if eventsEnableStatus[ON_SPEAKER] != true {
1344
+ return
1345
+ }
1140
1346
  var speakerPeerIds: [[String: Any]] = []
1141
1347
  for speaker in speakers {
1142
- speakerPeerIds.append(["peer": HMSDecoder.getHmsPeer(speaker.peer), "level": speaker.level, "track": HMSDecoder.getHmsTrack(speaker.track)])
1348
+ speakerPeerIds.append(["peer": HMSDecoder.getHmsPeerSubset(speaker.peer), "level": speaker.level, "track": HMSDecoder.getHmsTrack(speaker.track)])
1143
1349
  }
1144
1350
  self.delegate?.emitEvent(ON_SPEAKER, ["event": ON_SPEAKER, "id": self.id, "speakers": speakerPeerIds])
1145
1351
  }
1146
1352
 
1147
1353
  func onReconnecting() {
1148
1354
  reconnectingStage = true
1355
+ if eventsEnableStatus[RECONNECTING] != true {
1356
+ return
1357
+ }
1149
1358
  self.delegate?.emitEvent(RECONNECTING, ["event": RECONNECTING, "error": ["code": 1003, "description": "Network connection lost ", "isTerminal": false, "canRetry": true], "id": self.id ])
1150
1359
  }
1151
1360
 
1152
1361
  func onReconnected() {
1153
1362
  reconnectingStage = false
1363
+ if eventsEnableStatus[RECONNECTED] != true {
1364
+ return
1365
+ }
1154
1366
  self.delegate?.emitEvent(RECONNECTED, ["event": RECONNECTED, "id": self.id ])
1155
1367
  }
1156
1368
 
1157
1369
  func on(roleChangeRequest: HMSRoleChangeRequest) {
1158
- let decodedRoleChangeRequest = HMSDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
1159
1370
  recentRoleChangeRequest = roleChangeRequest
1371
+ if eventsEnableStatus[ON_ROLE_CHANGE_REQUEST] != true {
1372
+ return
1373
+ }
1374
+ let decodedRoleChangeRequest = HMSDecoder.getHmsRoleChangeRequest(roleChangeRequest, self.id)
1160
1375
  self.delegate?.emitEvent(ON_ROLE_CHANGE_REQUEST, decodedRoleChangeRequest)
1161
1376
  }
1162
1377
 
1163
1378
  func on(changeTrackStateRequest: HMSChangeTrackStateRequest) {
1379
+ if eventsEnableStatus["ON_CHANGE_TRACK_STATE_REQUEST"] != true {
1380
+ return
1381
+ }
1164
1382
  let decodedChangeTrackStateRequest = HMSDecoder.getHmsChangeTrackStateRequest(changeTrackStateRequest, id)
1165
1383
  delegate?.emitEvent("ON_CHANGE_TRACK_STATE_REQUEST", decodedChangeTrackStateRequest)
1166
1384
  }
1167
1385
 
1168
1386
  func on(removedFromRoom notification: HMSRemovedFromRoomNotification) {
1387
+ HMSDecoder.clearRestrictDataStates()
1388
+ if eventsEnableStatus[ON_REMOVED_FROM_ROOM] != true {
1389
+ return
1390
+ }
1169
1391
  let requestedBy = notification.requestedBy as HMSPeer?
1170
1392
  var decodedRequestedBy: [String: Any]?
1171
1393
  if let requested = requestedBy {
1172
- decodedRequestedBy = HMSDecoder.getHmsPeer(requested)
1394
+ decodedRequestedBy = HMSDecoder.getHmsPeerSubset(requested)
1173
1395
  }
1174
1396
  let reason = notification.reason
1175
1397
  let roomEnded = notification.roomEnded
@@ -1177,6 +1399,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1177
1399
  }
1178
1400
 
1179
1401
  func on(rtcStats: HMSRTCStatsReport) {
1402
+ if eventsEnableStatus[ON_RTC_STATS] != true {
1403
+ return
1404
+ }
1180
1405
  if !rtcStatsAttached {
1181
1406
  return
1182
1407
  }
@@ -1187,46 +1412,58 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1187
1412
  self.delegate?.emitEvent(ON_RTC_STATS, ["video": video, "audio": audio, "combined": combined, "id": self.id])
1188
1413
  }
1189
1414
 
1190
- func on(localAudioStats: HMSLocalAudioStats, track: HMSLocalAudioTrack, peer: HMSPeer) {
1415
+ func on(localAudioStats: HMSLocalAudioStats, track: HMSAudioTrack, peer: HMSPeer) {
1416
+ if eventsEnableStatus[ON_LOCAL_AUDIO_STATS] != true {
1417
+ return
1418
+ }
1191
1419
  if !rtcStatsAttached {
1192
1420
  return
1193
1421
  }
1194
1422
  let localStats = HMSDecoder.getLocalAudioStats(localAudioStats)
1195
- let localTrack = HMSDecoder.getHmsLocalAudioTrack(track)
1196
- let decodedPeer = HMSDecoder.getHmsPeer(peer)
1423
+ let localTrack = HMSDecoder.getHmsAudioTrack(track)
1424
+ let decodedPeer = HMSDecoder.getHmsPeerSubset(peer)
1197
1425
 
1198
1426
  self.delegate?.emitEvent(ON_LOCAL_AUDIO_STATS, ["localAudioStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
1199
1427
  }
1200
1428
 
1201
- func on(localVideoStats: HMSLocalVideoStats, track: HMSLocalVideoTrack, peer: HMSPeer) {
1429
+ func on(localVideoStats: [HMSLocalVideoStats], track: HMSVideoTrack, peer: HMSPeer) {
1430
+ if eventsEnableStatus[ON_LOCAL_VIDEO_STATS] != true {
1431
+ return
1432
+ }
1202
1433
  if !rtcStatsAttached {
1203
1434
  return
1204
1435
  }
1205
1436
  let localStats = HMSDecoder.getLocalVideoStats(localVideoStats)
1206
- let decodedPeer = HMSDecoder.getHmsPeer(peer)
1207
- let localTrack = HMSDecoder.getHmsLocalVideoTrack(track)
1437
+ let decodedPeer = HMSDecoder.getHmsPeerSubset(peer)
1438
+ let localTrack = HMSDecoder.getHmsVideoTrack(track)
1208
1439
 
1209
1440
  self.delegate?.emitEvent(ON_LOCAL_VIDEO_STATS, ["localVideoStats": localStats, "track": localTrack, "peer": decodedPeer, "id": self.id])
1210
1441
  }
1211
1442
 
1212
- func on(remoteAudioStats: HMSRemoteAudioStats, track: HMSRemoteAudioTrack, peer: HMSPeer) {
1443
+ func on(remoteAudioStats: HMSRemoteAudioStats, track: HMSAudioTrack, peer: HMSPeer) {
1444
+ if eventsEnableStatus[ON_REMOTE_AUDIO_STATS] != true {
1445
+ return
1446
+ }
1213
1447
  if !rtcStatsAttached {
1214
1448
  return
1215
1449
  }
1216
1450
  let remoteStats = HMSDecoder.getRemoteAudioStats(remoteAudioStats)
1217
- let remoteTrack = HMSDecoder.getHMSRemoteAudioTrack(track)
1218
- let decodedPeer = HMSDecoder.getHmsPeer(peer)
1451
+ let remoteTrack = HMSDecoder.getHmsAudioTrack(track)
1452
+ let decodedPeer = HMSDecoder.getHmsPeerSubset(peer)
1219
1453
 
1220
1454
  self.delegate?.emitEvent(ON_REMOTE_AUDIO_STATS, ["remoteAudioStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
1221
1455
  }
1222
1456
 
1223
- func on(remoteVideoStats: HMSRemoteVideoStats, track: HMSRemoteVideoTrack, peer: HMSPeer) {
1457
+ func on(remoteVideoStats: HMSRemoteVideoStats, track: HMSVideoTrack, peer: HMSPeer) {
1458
+ if eventsEnableStatus[ON_REMOTE_VIDEO_STATS] != true {
1459
+ return
1460
+ }
1224
1461
  if !rtcStatsAttached {
1225
1462
  return
1226
1463
  }
1227
1464
  let remoteStats = HMSDecoder.getRemoteVideoStats(remoteVideoStats)
1228
- let decodedPeer = HMSDecoder.getHmsPeer(peer)
1229
- let remoteTrack = HMSDecoder.getHMSRemoteVideoTrack(track)
1465
+ let decodedPeer = HMSDecoder.getHmsPeerSubset(peer)
1466
+ let remoteTrack = HMSDecoder.getHmsVideoTrack(track)
1230
1467
 
1231
1468
  self.delegate?.emitEvent(ON_REMOTE_VIDEO_STATS, ["remoteVideoStats": remoteStats, "track": remoteTrack, "peer": decodedPeer, "id": self.id])
1232
1469
  }
@@ -1277,23 +1514,28 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1277
1514
  func getString(from update: HMSRoomUpdate) -> String {
1278
1515
  switch update {
1279
1516
  case .roomTypeChanged:
1280
- return "ROOM_TYPE_CHANGED"
1517
+ return "ROOM_PEER_COUNT_UPDATED"
1281
1518
  case .metaDataUpdated:
1282
- return "META_DATA_CHANGED"
1519
+ return "ROOM_PEER_COUNT_UPDATED"
1283
1520
  case .browserRecordingStateUpdated:
1284
1521
  return "BROWSER_RECORDING_STATE_UPDATED"
1285
1522
  case .hlsStreamingStateUpdated:
1286
1523
  return "HLS_STREAMING_STATE_UPDATED"
1287
1524
  case .rtmpStreamingStateUpdated:
1288
1525
  return "RTMP_STREAMING_STATE_UPDATED"
1289
- case.serverRecordingStateUpdated:
1526
+ case .serverRecordingStateUpdated:
1290
1527
  return "SERVER_RECORDING_STATE_UPDATED"
1528
+ case .hlsRecordingStateUpdated:
1529
+ return "HLS_RECORDING_STATE_UPDATED"
1291
1530
  default:
1292
1531
  return ""
1293
1532
  }
1294
1533
  }
1295
1534
 
1296
1535
  func emitRequiredKeysError(_ error: String) {
1536
+ if eventsEnableStatus[ON_ERROR] != true {
1537
+ return
1538
+ }
1297
1539
  delegate?.emitEvent(ON_ERROR, ["error": ["code": 6002, "description": error, "isTerminal": false, "canRetry": true], "id": id])
1298
1540
  }
1299
1541
  }